/*!
* js-data
* @version 2.9.0 - Homepage
* @author Jason Dobry
* @copyright (c) 2014-2016 Jason Dobry
* @license MIT
*
* @overview Robust framework-agnostic data store.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JSData=t():e.JSData=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=r(1),o=n(i),a=r(2),u=n(a),f=r(3),s=n(f);e.exports={DS:o.default,DSUtils:u.default,DSErrors:s.default,createStore:function(e){return new o.default(e)},version:{full:"<%= pkg.version %>",major:parseInt("<%= major %>",10),minor:parseInt("<%= minor %>",10),patch:parseInt("<%= patch %>",10),alpha:"<%= alpha %>",beta:"<%= beta %>"}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,r){r(null,t)}function a(e,t){return t}function u(e,t,r,n){var i=e[t],o=h.default.get(r,i[0]),a=h.default.get(n,i[0]);return h.default._s(o)&&(o=h.default.upperCase(o)),h.default._s(a)&&(a=h.default.upperCase(a)),"DESC"===i[1]?o>a?-1:a>o?1:to?-1:o>a?1:ti;i++)r[i]=arguments[i];return n.apply(this,t.apply(this,r)||r)}}})}Object.defineProperty(t,"__esModule",{value:!0});var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},d=function(){function e(e,t){for(var r=0;r"===o?a=f>n:">="===o?a=f>=n:"<"===o?a=n>f:"<="===o?a=n>=f:"isectEmpty"===o?a=!h.default.intersection(f||[],n||[]).length:"isectNotEmpty"===o?a=h.default.intersection(f||[],n||[]).length:"in"===o?a=h.default._s(n)?-1!==n.indexOf(f):h.default.contains(n,f):"notIn"===o?a=h.default._s(n)?-1===n.indexOf(f):!h.default.contains(n,f):0===o.indexOf("like")?a=null!==s(n,o.substr(4)).exec(f):0===o.indexOf("notLike")?a=null===s(n,o.substr(7)).exec(f):"contains"===o?a=h.default._s(f)?-1!==f.indexOf(n):h.default.contains(f,n):"notContains"===o&&(a=h.default._s(f)?-1===f.indexOf(n):!h.default.contains(f,n)),void 0!==a&&(r=t?a:u?r||a:r&&a),t=!1})}),r)}):n.excludeTemporary&&a&&(f=h.default.filter(f,function(e){return a.temporaryItems[e[o]]}));var p=null;h.default._s(r.orderBy)?p=[[r.orderBy,"ASC"]]:h.default._a(r.orderBy)&&(p=r.orderBy),!p&&h.default._s(r.sort)?p=[[r.sort,"ASC"]]:!p&&h.default._a(r.sort)&&(p=r.sort),p&&!function(){var e=0;h.default.forEach(p,function(e,r){if(h.default._s(e))p[r]=[e,"ASC"];else if(!h.default._a(e))throw new y.default.IA('DS.filter("'+t+'"[, params][, options]): '+h.default.toJson(e)+": Must be a string or an array!",{params:{"orderBy[i]":{actual:"undefined"==typeof e?"undefined":l(e),expected:"string|array"}}})}),f=h.default.sort(f,function(t,r){return u(p,e,t,r)})}();var v=h.default._n(r.limit)?r.limit:null,m=null;return h.default._n(r.skip)?m=r.skip:h.default._n(r.offset)&&(m=r.offset),v&&m?f=h.default.slice(f,m,Math.min(f.length,m+v)):h.default._n(v)?f=h.default.slice(f,0,Math.min(f.length,v)):h.default._n(m)&&(f=mr;r++)t[r]=arguments[r];var n=t[t.length-1],i=this.defaults.errorHandler,o=n?n.errorHandler:i;return o=o||i,function(e){return o.apply(void 0,[e].concat(t))}}}]),e}(),C=O.prototype;C.getAdapterName.shorthand=!1,C.getAdapter.shorthand=!1,C.registerAdapter.shorthand=!1,C.errors=y.default,C.utils=h.default,c(C,g.default),c(C,_.default),t.default=O},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return"[object Array]"===W.call(e)||!1}function o(e){return"[object RegExp]"===W.call(e)||!1}function a(e){return"string"==typeof e||e&&"object"===("undefined"==typeof e?"undefined":O(e))&&"[object String]"===W.call(e)||!1}function u(e){return"[object Object]"===W.call(e)||!1}function f(e){return e&&"object"===("undefined"==typeof e?"undefined":O(e))&&"[object Date]"===W.call(e)||!1}function s(e){var t="undefined"==typeof e?"undefined":O(e);return"number"===t||e&&"object"===t&&"[object Number]"===W.call(e)||!1}function c(e){return"function"==typeof e||e&&"[object Function]"===W.call(e)||!1}function l(e){return a(e)||s(e)}function d(e){return new F.default.IA('"'+e+'" must be a string or a number!')}function p(e){return new F.default.IA('"'+e+'" must be an object!')}function h(e){return new F.default.IA('"'+e+'" must be an array!')}function v(e){if(null==e)return!0;if("string"==typeof e||G(e))return!e.length;if("object"===("undefined"==typeof e?"undefined":O(e))){var t=!0;return I(e,function(){return t=!1,!1}),t}return!0}function y(e,t){if(!e||!t)return[];for(var r=[],n=void 0,i=0,o=e.length;o>i;i++)n=e[i],R(r,n)||R(t,n)&&r.push(n);return r}function m(e,t,r){var n=[];return D(e,function(e,r,i){t(e,r,i)&&n.push(e)},r),n}function g(e){var t={};e=e||this,Object.defineProperties(e,{on:{value:function(e,r,n){t[e]=t[e]||[],t[e].push({f:r,c:n})}},off:{value:function(e,r){var n=t[e];if(n)if(r){for(var i=0;in;n++)r[n]=arguments[n];var i=t[r.shift()]||[];if(i)for(var o=0;on;n++)if(!_(e[n],t[n]))return!1;return!0}}return!1}function w(e,t){return a(t)||s(t)?t:t&&e?t[e.idAttribute]||t:t}function x(e,t){return e&&(a(t)||s(t))?e.index[t]||t:t}function A(e){return null!=e&&""!==e}function j(e,t){return t=t||"",m(e,A).join(t)}function E(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];var n=j(t,"/");return n.replace(/([^:\/]|^)\/{2,}/g,"$1/")}Object.defineProperty(t,"__esModule",{value:!0});var O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},C=r(3),F=n(C),S=r(4),D=r(5),k=r(6),I=r(7),R=r(10),P=r(12),N=r(14),T=r(21),M=r(22),H=r(23),Q=r(24),K=r(19),U=r(25),V=r(27),$=r(29),q=r(30),L=void 0,B=void 0,J=void 0,z=Object.prototype,W=z.toString;try{B=Promise}catch(e){console.error("js-data requires a global Promise constructor!")}try{J=window.File}catch(e){J=function(){}}var G=Array.isArray||i;try{L=window,L={}}catch(e){L=null}var Y=["beforeValidate","validate","afterValidate","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"],X=$.isBlacklisted;t.default={Promise:B,_:function(e,t){var r=this;if(e=e||{},t=t||{},t&&t.constructor===e.constructor)return t;if(!u(t))throw new F.default.IA('"options" must be an object!');D(Y,function(e){"function"==typeof t[e]&&-1===t[e].toString().indexOf("for (var _len = arg")&&(t[e]=r.promisify(t[e]))});var n=function(e){var t=this;I(e,function(e,r){t[r]=e})};return n.prototype=e,n.prototype.orig=function(){var e={};return I(this,function(t,r){e[r]=t}),e},new n(t)},_n:s,_s:a,_sn:l,_snErr:d,_o:u,_oErr:p,_a:G,_aErr:h,applyScope:function(e,t,r){var n=r.scope,i=b(t);n?a(n)&&(n=[n]):n=[],n.unshift("defaultScope"),D(n,function(n){var i=r.scopes[n];"function"==typeof i?P(t,i(e)):i&&P(t,i)}),P(t,i)},compute:function(e,t){var r=this,n=[];u(e)||(D(e.deps,function(e){n.push(U(r,e))}),V(r,t,e[e.length-1].apply(r,n)))},contains:R,copy:b,deepMixIn:P,diffObjectFromOldObject:$.diffObjectFromOldObject,BinaryHeap:S,equals:_,Events:g,filter:m,fillIn:function(e,t){return I(t,function(t,r){r in e||(e[r]=t)}),e},forEach:D,forOwn:I,fromJson:function(e){return a(e)?JSON.parse(e):e},get:U,guid:q,intersection:y,isArray:G,isBlacklisted:X,isEmpty:v,isFunction:c,isObject:u,isNumber:s,isString:a,keys:H,makePath:E,observe:$,omit:function(e,t){var r=[];return I(e,function(e,n){X(n,t)&&r.push(n)}),D(r,function(t){delete e[t]}),e},pascalCase:N,pick:M,promisify:function(e,t){var r=this;if(e){if("function"!=typeof e)throw new Error("Can only promisify functions!");return function(){for(var n=arguments.length,i=Array(n),o=0;n>o;o++)i[o]=arguments[o];return new r.Promise(function(r,n){i.push(function(e,t){e?n(e):r(t)});try{var o=e.apply(t||this,i);o&&o.then&&o.then(r,n)}catch(e){n(e)}})}}},remove:T,set:V,slice:k,sort:Q,toJson:JSON.stringify,updateTimestamp:function(e){var t="function"==typeof Date.now?Date.now():(new Date).getTime();return e&&e>=t?e+1:t},upperCase:K,removeCircular:function(e){return function e(t,r){var n=void 0,i=void 0;if(!("object"!==("undefined"==typeof t?"undefined":O(t))||null===t||t instanceof Boolean||t instanceof Date||t instanceof Number||t instanceof RegExp||t instanceof String||J&&t instanceof J)){for(var o=r.cur,a=r.ctx;a;){if(a.cur===o)return;a=a.ctx}if(G(t))for(i=[],n=0;ni;i++)n[i]=arguments[i];return e.apply(r,n)})}}(),Object.defineProperty(r,o,l)}})}}},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(e){r(this,t);var i=n(this,Object.getPrototypeOf(t).call(this));return"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(i,i.constructor),i.type=i.constructor.name,i.message=e,i}return i(t,e),t}(Error),a=function(e){function t(e){r(this,t);var i=n(this,Object.getPrototypeOf(t).call(this));return"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(i,i.constructor),i.type=i.constructor.name,i.message=e,i}return i(t,e),t}(Error),u=function(e){function t(e){r(this,t);var i=n(this,Object.getPrototypeOf(t).call(this));return"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(i,i.constructor),i.type=i.constructor.name,i.message=e+" is not a registered resource!",i}return i(t,e),t}(Error);t.default={IllegalArgumentError:o,IA:o,RuntimeError:a,R:a,NonexistentResourceError:u,NER:u}},function(e,t,r){!function(t,r){e.exports=r()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){function n(e,t,r){for(var n=e[r],i=t(n);r>0;){var o=Math.floor((r+1)/2)-1,a=e[o];if(i>=t(a))break;e[o]=n,e[r]=a,r=o}}function i(e,t){if(e||(e=function(e){return e}),t||(t=function(e,t){return e===t}),"function"!=typeof e)throw new Error('BinaryHeap([weightFunc][, compareFunc]): "weightFunc" must be a function!');if("function"!=typeof t)throw new Error('BinaryHeap([weightFunc][, compareFunc]): "compareFunc" must be a function!');this.weightFunc=e,this.compareFunc=t,this.heap=[]}var o=function(e,t,r){for(var n=e.length,i=e[r],o=t(i);;){var a=2*(r+1),u=a-1,f=null;if(n>u){var s=e[u],c=t(s);o>c&&(f=u)}if(n>a){var l=e[a],d=t(l);d<(null===f?o:t(e[u]))&&(f=a)}if(null===f)break;e[r]=e[f],e[f]=i,r=f}},a=i.prototype;a.push=function(e){this.heap.push(e),n(this.heap,this.weightFunc,this.heap.length-1)},a.peek=function(){return this.heap[0]},a.pop=function(){var e=this.heap[0],t=this.heap.pop();return this.heap.length>0&&(this.heap[0]=t,o(this.heap,this.weightFunc,0)),e},a.remove=function(e){for(var t=this.heap.length,r=0;t>r;r++)if(this.compareFunc(this.heap[r],e)){var i=this.heap[r],a=this.heap.pop();return r!==t-1&&(this.heap[r]=a,n(this.heap,this.weightFunc,r),o(this.heap,this.weightFunc,r)),i}return null},a.removeAll=function(){this.heap=[]},a.size=function(){return this.heap.length},e.exports=i}])})},function(e,t){function r(e,t,r){if(null!=e)for(var n=-1,i=e.length;++nt?Math.max(n+t,0):Math.min(t,n),r=null==r?n:0>r?Math.max(n+r,0):Math.min(r,n);for(var i=[];r>t;)i.push(e[t++]);return i}e.exports=r},function(e,t,r){function n(e,t,r){o(e,function(n,o){return i(e,o)?t.call(r,e[o],o,e):void 0})}var i=r(8),o=r(9);e.exports=n},function(e,t){function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=r},function(e,t,r){function n(){u=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],a=!0;for(var e in{toString:null})a=!1}function i(e,t,r){var i,s=0;null==a&&n();for(i in e)if(o(t,e,i,r)===!1)break;if(a)for(var c=e.constructor,l=!!c&&e===c.prototype;(i=u[s++])&&("constructor"===i&&(l||!f(e,i))||e[i]===Object.prototype[i]||o(t,e,i,r)!==!1););}function o(e,t,r,n){return e.call(n,t[r],r,t)}var a,u,f=r(8);e.exports=i},function(e,t,r){function n(e,t){return-1!==i(e,t)}var i=r(11);e.exports=n},function(e,t){function r(e,t,r){if(r=r||0,null==e)return-1;for(var n=e.length,i=0>r?n+r:r;n>i;){if(e[i]===t)return i;i++}return-1}e.exports=r},function(e,t,r){function n(e,t){for(var r,n=0,a=arguments.length;++n-1&&(e=e.replace(/[\xC0-\xC5]/g,"A").replace(/[\xC6]/g,"AE").replace(/[\xC7]/g,"C").replace(/[\xC8-\xCB]/g,"E").replace(/[\xCC-\xCF]/g,"I").replace(/[\xD0]/g,"D").replace(/[\xD1]/g,"N").replace(/[\xD2-\xD6\xD8]/g,"O").replace(/[\xD9-\xDC]/g,"U").replace(/[\xDD]/g,"Y").replace(/[\xDE]/g,"P").replace(/[\xE0-\xE5]/g,"a").replace(/[\xE6]/g,"ae").replace(/[\xE7]/g,"c").replace(/[\xE8-\xEB]/g,"e").replace(/[\xEC-\xEF]/g,"i").replace(/[\xF1]/g,"n").replace(/[\xF2-\xF6\xF8]/g,"o").replace(/[\xF9-\xFC]/g,"u").replace(/[\xFE]/g,"p").replace(/[\xFD\xFF]/g,"y")),e}var i=r(15);e.exports=n},function(e,t,r){function n(e){return e=i(e),e.replace(o,"")}var i=r(15),o=/[^\x20\x2D0-9A-Z\x5Fa-z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/g;e.exports=n},function(e,t,r){function n(e){return e=i(e),e.toUpperCase()}var i=r(15);e.exports=n},function(e,t,r){function n(e){return e=i(e),e.toLowerCase()}var i=r(15);e.exports=n},function(e,t,r){function n(e,t){var r=i(e,t);-1!==r&&e.splice(r,1)}var i=r(11);e.exports=n},function(e,t,r){function n(e,t){for(var r,n="string"!=typeof arguments[1]?arguments[1]:i(arguments,1),o={},a=0;r=n[a++];)o[r]=e[r];return o}var i=r(6);e.exports=n},function(e,t,r){var n=r(7),i=Object.keys||function(e){var t=[];return n(e,function(e,r){t.push(r)}),t};e.exports=i},function(e,t){function r(e,t){if(null==e)return[];if(e.length<2)return e;null==t&&(t=n);var o,a,u;return o=~~(e.length/2),a=r(e.slice(0,o),t),u=r(e.slice(o,e.length),t),i(a,u,t)}function n(e,t){return t>e?-1:e>t?1:0}function i(e,t,r){for(var n=[];e.length&&t.length;)r(e[0],t[0])<=0?n.push(e.shift()):n.push(t.shift());return e.length&&n.push.apply(n,e),t.length&&n.push.apply(n,t),n}e.exports=r},function(e,t,r){function n(e,t){for(var r=t.split("."),n=r.pop();t=r.shift();)if(e=e[t],null==e)return;return e[n]}r(26);e.exports=n},function(e,t){function r(e){switch(typeof e){case"string":case"number":case"boolean":return!0}return null==e}e.exports=r},function(e,t,r){function n(e,t,r){var n=/^(.+)\.(.+)$/.exec(t);n?i(e,n[1])[n[2]]=r:e[t]=r}var i=r(28);e.exports=n},function(e,t,r){function n(e,t){return t?(i(t.split("."),function(t){e[t]||(e[t]={}),e=e[t]}),e):e}var i=r(5);e.exports=n},function(e,t){!function(e){function t(){function e(e){t=e}if("function"!=typeof Object.observe||"function"!=typeof Array.observe)return!1;var t=[],r={},n=[];return Object.observe(r,e),Array.observe(n,e),r.id=1,r.id=2,delete r.id,n.push(1,2),n.length=0,Object.deliverChangeRecords(e),5!==t.length?!1:"add"!=t[0].type||"update"!=t[1].type||"delete"!=t[2].type||"splice"!=t[3].type||"splice"!=t[4].type?!1:(Object.unobserve(r,e),Array.unobserve(n,e),!0)}function r(t){for(var r=0;g>r&&t.check_();)r++;return v&&(e.dirtyCheckCycleCount=r),r>0}function n(e){for(var t in e)return!1;return!0}function i(e){return n(e.added)&&n(e.removed)&&n(e.changed)}function o(e,t){if(!t||!t.length)return!1;for(var r,n=0;nn&&t);v&&(e.dirtyCheckCycleCount=n),F=!1}},C&&(e.Platform.clearObservers=function(){O=[]}),p.prototype=m({__proto__:c.prototype,arrayObserve:!1,connect_:function(e,t){y?this.directObserver_=s(this,this.value_,this.arrayObserve):this.oldObject_=this.copyObject(this.value_)},copyObject:function(e){var t=Array.isArray(e)?[]:{};for(var r in e)t[r]=e[r];return Array.isArray(e)&&(t.length=e.length),t},check_:function(e,t){var r,n;if(y){if(!e)return!1;n={},r=h(this.value_,e,n)}else n=this.oldObject_,r=a(this.value_,this.oldObject_);return i(r)?!1:(y||(this.oldObject_=this.copyObject(this.value_)),this.report_([r.added||{},r.removed||{},r.changed||{},function(e){return n[e]}]),!0)},disconnect_:function(){y?(this.directObserver_.close(),this.directObserver_=void 0):this.oldObject_=void 0},deliver:function(){this.state_==A&&(y?this.directObserver_.deliver(!1):r(this))},discardChanges:function(){return this.directObserver_?this.directObserver_.deliver(!0):this.oldObject_=this.copyObject(this.value_),this.value_}});var S={},D={add:!0,update:!0,delete:!0};e.Observer=c,e.isBlacklisted=o,e.Observer.runEOM_=_,e.Observer.observerSentinel_=S,e.Observer.hasObjectObserve=y,e.diffObjectFromOldObject=a,e.ObjectObserver=p}(t)},function(e,t,r){function n(){return i(8)+"-"+i(4)+"-4"+i(3)+"-"+o(8,9,"a","b")+i(3)+"-"+i(12)}var i=r(31),o=r(32);e.exports=n},function(e,t,r){function n(e){e=e&&e>0?e:6;for(var t="";e--;)t+=i(o);return t}var i=r(32),o="0123456789abcdef".split("");e.exports=n},function(e,t,r){function n(e){var t=1===arguments.length&&o(e)?e:arguments;return t[i(0,t.length-1)]}var i=r(33),o=r(38);e.exports=n},function(e,t,r){function n(e,t){return e=null==e?i:~~e,t=null==t?o:~~t,Math.round(a(e-.5,t+.499999999999))}var i=r(34),o=r(35),a=r(36);e.exports=n},function(e,t){e.exports=-2147483648},function(e,t){e.exports=2147483647},function(e,t,r){function n(e,t){return e=null==e?o:e,t=null==t?a:t,e+(t-e)*i()}var i=r(37),o=r(34),a=r(35);e.exports=n},function(e,t){function r(){return r.get()}r.get=Math.random,e.exports=r},function(e,t,r){var n=r(39),i=Array.isArray||function(e){return n(e,"Array")};e.exports=i},function(e,t,r){function n(e,t){return i(e)===t}var i=r(40);e.exports=n},function(e,t){function r(e){return null===e?"Null":e===n?"Undefined":i.exec(o.call(e))[1]}var n,i=/^\[object (.*)\]$/,o=Object.prototype.toString;e.exports=r},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function i(e){return!(f.default.isEmpty(e.added)&&f.default.isEmpty(e.removed)&&f.default.isEmpty(e.changed))}function o(e,t,r,n){var i=this,o=i.definitions[t];if(n=n||{},r=f.default.resolveId(o,r),!o)throw new l(t);if(!f.default._sn(r))throw f.default._snErr("id");return r=r===h?void 0:r,n=f.default._(o,n),{_this:i,definition:o,_resourceName:t,_id:r,_options:n}}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},u=r(2),f=n(u),s=r(3),c=n(s),l=c.default.NER,d=c.default.IA,p=c.default.R,h="DS_"+(new Date).getTime();t.default={changes:function(e,t,r){var n=o.call(this,"changes",e,t,r),i=n._this,u=n.definition,s=n._resourceName,c=n._id,l=n._options,d=u.get(c);if(d){var p=function(){var e=i.store[s].observers[c];e&&"function"==typeof e&&e.deliver();var t=l.ignoredChanges||[];f.default.forEach(u.relationFields,function(e){f.default.contains(t,e)||t.push(e)});var r=f.default.diffObjectFromOldObject(d,i.store[s].previousAttributes[c],f.default.equals,t);return f.default.forOwn(r,function(e,t){var n=[];f.default.forOwn(e,function(e,t){f.default.isFunction(e)||n.push(t)}),r[t]=f.default.pick(r[t],n)}),f.default.forEach(u.relationFields,function(e){delete r.added[e],delete r.removed[e],delete r.changed[e]}),{v:r}}();if("object"===("undefined"==typeof p?"undefined":a(p)))return p.v}},changeHistory:function(e,t){var r=o.call(this,"changeHistory",e,t||h),n=r._this,i=r.definition,a=r._resourceName,u=r._id,f=n.store[a];if(i.keepChangeHistory){if(!a)return f.changeHistory;var s=i.get(u);if(s)return f.changeHistories[u]}else i.errorFn("changeHistory is disabled for this resource!")},commit:function(e,t){var r=o.call(this,"commit",e,t),n=r._this,i=r.definition,a=r._resourceName,u=r._id,s=n.store[a],c=n.store[a].index[u];return c&&(s.previousAttributes[u]=f.default.copy(c,null,null,null,i.relationFields)),
s.changeHistories[u].length&&(f.default.forEach(s.changeHistories[u],function(e){f.default.remove(s.changeHistory,e)}),s.changeHistories[u].splice(0,s.changeHistories[u].length)),c},compute:function(e,t){var r=this,n=r.definitions[e];if(t=f.default.resolveItem(r.store[e],t),!n)throw new l(e);if(!t)throw new p("Item not in the store!");if(!f.default._o(t)&&!f.default._sn(t))throw new d('"instance" must be an object, string or number!');return f.default.forOwn(n.computed,function(e,r){f.default.compute.call(t,e,r)}),t},createInstance:function(e,t,r){var n=this.definitions[e],i=void 0;if(t=t||{},!n)throw new l(e);if(t&&!f.default.isObject(t))throw new d('"attrs" must be an object!');r=f.default._(n,r);var o=n.relationList||[];o.length&&f.default.forEach(o,function(e){var i=f.default.get(t,e.localField);i&&(f.default.isArray(i)?!function(){var o=[],a=n.getResource(e.relation),u=r.orig();f.default.forEach(i,function(e){o.push(a.createInstance(e,u))}),f.default.set(t,e.localField,o)}():f.default.isObject(i)&&f.default.set(t,e.localField,n.getResource(e.relation).createInstance(i,r.orig())))}),r.beforeCreateInstance(r,t);var a=n[n.class];return i=new a,n.instanceEvents&&f.default.Events(i),r.defaultValues&&f.default.deepMixIn(i,f.default.copy(r.defaultValues)),f.default.deepMixIn(i,t),n.computed&&n.compute(i),r.afterCreateInstance(r,i),i},createCollection:function(e,t,r,n){var i=this,o=i.definitions[e];if(t=t||[],r=r||{},!o)throw new l(e);if(t&&!f.default.isArray(t))throw new d('"arr" must be an array!');return n=f.default._(o,n),n.beforeCreateCollection(n,t),Object.defineProperties(t,{fetch:{value:function(t,r){var n=this;return n.params=t||n.params,o.findAll(n.params,r).then(function(t){return t===n?n:(t.unshift(n.length),t.unshift(0),n.splice.apply(n,t),t.shift(),t.shift(),t.$$injected&&(i.store[e].queryData[f.default.toJson(n.params)]=n,n.$$injected=!0),n)})}},params:{value:r,writable:!0},resourceName:{value:e}}),n.afterCreateCollection(n,t),t},defineResource:r(42),digest:function(){this.observe.Platform.performMicrotaskCheckpoint()},eject:r(43),ejectAll:r(44),filter:r(45),get:function(e,t){var r=o.call(this,"get",e,t),n=r._this,i=r._resourceName,a=r._id;return n.store[i].index[a]},getAll:function(e,t){var r=this,n=r.definitions[e],i=r.store[e],o=[];if(!n)throw new l(e);if(t&&!f.default._a(t))throw f.default._aErr("ids");if(f.default._a(t))for(var a=t.length,u=0;a>u;u++)i.index[t[u]]&&o.push(i.index[t[u]]);else o=i.collection.slice();return o},hasChanges:function(e,t){var r=o.call(this,"hasChanges",e,t),n=r.definition,a=r._id;return n.get(a)?i(n.changes(a)):!1},inject:r(46),isNew:function(e,t){var r=o.call(this,"isNew",e,t||h),n=r._this,i=r._resourceName,a=r._id,u=n.store[i];return!!u.temporaryItems[a]},lastModified:function(e,t){var r=o.call(this,"lastModified",e,t||h),n=r._this,i=r._resourceName,a=r._id,u=n.store[i];return a?(a in u.modified||(u.modified[a]=0),u.modified[a]):u.collectionModified},lastSaved:function(e,t){var r=o.call(this,"lastSaved",e,t||h),n=r._this,i=r._resourceName,a=r._id,u=n.store[i];return a in u.saved||(u.saved[a]=0),u.saved[a]},previous:function(e,t){var r=o.call(this,"previous",e,t),n=r._this,i=r._resourceName,a=r._id,u=n.store[i];return u.previousAttributes[a]?f.default.copy(u.previousAttributes[a]):void 0},revert:function(e,t,r){var n=o.call(this,"revert",e,t,r),i=n._this,u=n.definition,s=n._resourceName,c=n._id,l=n._options,d=l.preserve||[],p={};if(0===d.length)p=i.previous(s,c);else{var h=function(){var e=u.get(t),r=i.previous(s,c);return e?void f.default.forOwn(e,function(t,n){f.default.contains(d,n)?p[n]=e[n]:p[n]=r[n]}):{v:void 0}}();if("object"===("undefined"==typeof h?"undefined":a(h)))return h.v}return u.inject(p,{onConflict:"replace"})}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},o=r(2),a=n(o),u=r(3),f=n(u),s=["compute","eject","refresh","save","update","destroy","loadRelations","changeHistory","changes","commit","hasChanges","isNew","lastModified","lastSaved","previous","revert"];e.exports=function(e){function t(t){this.defaultValues={},this.methods={},this.computed={},this.scopes={},this.actions={},a.default.deepMixIn(this,t);var i=r.defaults;e.extends&&n[e.extends]&&(i=n[e.extends]),a.default.fillIn(this.defaultValues,i.defaultValues),a.default.fillIn(this.methods,i.methods),a.default.fillIn(this.computed,i.computed),a.default.fillIn(this.scopes,i.scopes),a.default.fillIn(this.actions,i.actions),this.endpoint="endpoint"in t?t.endpoint:this.name}var r=this,n=r.definitions;if(a.default._s(e)&&(e={name:e.replace(/\s/gi,"")}),!a.default._o(e))throw a.default._oErr("definition");if(!a.default._s(e.name))throw new f.default.IA('"name" must be a string!');if(n[e.name])throw new f.default.R(e.name+" is already registered!");try{var o,u,c=function(){if(e.extends&&n[e.extends]?t.prototype=n[e.extends]:t.prototype=r.defaults,n[e.name]=new t(e),o=n[e.name],o.getResource=function(e){return r.definitions[e]},!a.default._s(o.idAttribute))throw new f.default.IA('"idAttribute" must be a string!');o.relations&&(o.relationList=[],o.relationFields=[],a.default.forOwn(o.relations,function(e,t){a.default.forOwn(e,function(r,n){a.default._a(r)||(e[n]=[r]),a.default.forEach(e[n],function(e){e.type=t,e.relation=n,e.name=o.name,o.relationList.push(e),e.localField&&o.relationFields.push(e.localField)})})}),o.relations.belongsTo&&(o.parents={},a.default.forOwn(o.relations.belongsTo,function(e,t){a.default.forEach(e,function(e){e.parent&&(o.parent=t,o.parentKey=e.localKey,o.parentField=e.localField,o.parents[t]={key:o.parentKey,field:o.parentField})})})),"function"==typeof Object.freeze&&(Object.freeze(o.relations),Object.freeze(o.relationList))),u=o.class=a.default.pascalCase(o.name);try{"function"==typeof o.useClass?(o.csp?o[u]=function(){o.useClass.call(this)}:o[u]=new Function("def","return function "+u+"() { def.useClass.call(this); }")(o),o[u].prototype=function(e){function t(){}return t.prototype=e,new t}(o.useClass.prototype)):o.csp?o[u]=function(){}:o[u]=new Function("return function "+u+"() {}")()}catch(e){o[u]=function(){}}a.default.forOwn(o.methods,function(e,t){o[u].prototype[t]=e}),o[u].prototype.set=function(e,t){var r=this;return a.default.set(this,e,t),o.compute(this),o.instanceEvents&&setTimeout(function(){r.emit("DS.change",o,r)},0),o.handleChange(this),this},o[u].prototype.get=function(e){return a.default.get(this,e)},a.default.applyRelationGettersToTarget(r,o,o[u].prototype);var i=null;o.hasOwnProperty("omit")?i=r.defaults.omit:(i=o.omit,o.omit=[]),o.omit=o.omit.concat(i||[]),a.default.forOwn(o.computed,function(e,t){if(a.default.isFunction(e)&&(o.computed[t]=[e],e=o.computed[t]),o.methods&&t in o.methods&&o.errorFn('Computed property "'+t+'" conflicts with previously defined prototype method!'),o.omit.push(t),a.default.isArray(e)){var r;if(1===e.length){var n=e[0].toString().match(/function.*?\(([\s\S]*?)\)/);r=n[1].split(","),r=a.default.filter(r,function(e){return e}),o.computed[t]=r.concat(e),e=o.computed[t],r.length&&o.errorFn("Use the computed property array syntax for compatibility with minified code!")}r=e.slice(0,e.length-1),a.default.forEach(r,function(e,t){r[t]=e.trim()}),e.deps=a.default.filter(r,function(e){return!!e})}else a.default.isObject(e)&&Object.defineProperty(o[u].prototype,t,e)}),a.default.forEach(s,function(e){o[u].prototype["DS"+a.default.pascalCase(e)]=function(){for(var t=arguments.length,n=Array(t),i=0;t>i;i++)n[i]=arguments[i];return n.unshift(this[o.idAttribute]||this),n.unshift(o.name),r[e].apply(r,n)}}),o[u].prototype.DSCreate=function(){for(var e=arguments.length,t=Array(e),n=0;e>n;n++)t[n]=arguments[n];return t.unshift(this),t.unshift(o.name),r.create.apply(r,t)},r.store[o.name]={collection:[],expiresHeap:new a.default.BinaryHeap(function(e){return e.expires},function(e,t){return e.item===t}),completedQueries:{},queryData:{},pendingQueries:{},index:{},modified:{},saved:{},previousAttributes:{},observers:{},changeHistories:{},changeHistory:[],collectionModified:0,temporaryItems:{}};var c=r.store[o.name];o.reapInterval&&setInterval(function(){return o.reap()},o.reapInterval);var l=["registerAdapter","getAdapterName","getAdapter","is","!clear"];for(var d in r)"function"==typeof r[d]&&l.push(d);a.default.forEach(l,function(e){var t=e;"!"!==t[0]&&(r[t].shorthand!==!1?(o[t]=function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return n.unshift(o.name),r[t].apply(r,n)},o[t].before=function(e){var r=o[t];o[t]=function(){for(var t=arguments.length,n=Array(t),i=0;t>i;i++)n[i]=arguments[i];return r.apply(o,e.apply(o,n)||n)}}):o[t]=function(){for(var e=arguments.length,n=Array(e),i=0;e>i;i++)n[i]=arguments[i];return r[t].apply(r,n)})}),o.beforeValidate=a.default.promisify(o.beforeValidate),o.validate=a.default.promisify(o.validate),o.afterValidate=a.default.promisify(o.afterValidate),o.beforeCreate=a.default.promisify(o.beforeCreate),o.afterCreate=a.default.promisify(o.afterCreate),o.afterFind=a.default.promisify(o.afterFind),o.afterFindAll=a.default.promisify(o.afterFindAll),o.afterLoadRelations=a.default.promisify(o.afterLoadRelations),o.beforeUpdate=a.default.promisify(o.beforeUpdate),o.afterUpdate=a.default.promisify(o.afterUpdate),o.beforeDestroy=a.default.promisify(o.beforeDestroy),o.afterDestroy=a.default.promisify(o.afterDestroy);var p=void 0;return o.hasOwnProperty("defaultAdapter")&&(p=o.defaultAdapter),a.default.forOwn(o.actions,function(e,t){if(o[t]&&!o.actions[t])throw new Error('Cannot override existing method "'+t+'"!');e.request=e.request||function(e){return e},e.response=e.response||function(e){return e},e.responseError=e.responseError||function(e){return a.default.Promise.reject(e)},o[t]=function(r,n){a.default._o(r)&&(n=r),n=n||{};var i=o.getAdapter(e.adapter||p||"http"),u=a.default.deepMixIn({},e);if(!n.hasOwnProperty("endpoint")&&u.endpoint&&(n.endpoint=u.endpoint),"function"==typeof n.getEndpoint)u.url=n.getEndpoint(o,n);else{var f=[n.basePath||o.basePath||i.defaults.basePath,i.getEndpoint(o,a.default._sn(r)?r:null,n)];a.default._sn(r)&&f.push(r),f.push(e.pathname||t),u.url=a.default.makePath.apply(null,f)}return u.method=u.method||"GET",u.resourceName=o.name,a.default.deepMixIn(u,n),new a.default.Promise(function(e){return e(u)}).then(n.request||e.request).then(function(e){return i.HTTP(e)}).then(function(e){return e&&e.config&&(e.config.resourceName=o.name),e}).then(n.response||e.response,n.responseError||e.responseError)}}),a.default.Events(o),o.handleChange=function(e){c.collectionModified=a.default.updateTimestamp(c.collectionModified),o.notify&&setTimeout(function(){o.emit("DS.change",o,e)},0)},{v:o}}();if("object"===("undefined"==typeof c?"undefined":i(c)))return c.v}catch(t){throw r.defaults.errorFn(t),delete n[e.name],delete r.store[e.name],t}}},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};e.exports=function(e,t,n){var i=this,o=i.utils,a=i.definitions[e],u=i.store[e],f=void 0,s=!1;if(t=o.resolveId(a,t),!a)throw new i.errors.NER(e);if(!o._sn(t))throw o._snErr("id");n=o._(a,n);for(var c=0;c