Socket
Socket
Sign inDemoInstall

mobx

Package Overview
Dependencies
Maintainers
1
Versions
251
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mobx - npm Package Compare versions

Comparing version 2.3.3 to 2.3.4-iosfix

8

CHANGELOG.md

@@ -1,3 +0,9 @@

# 3.3.3
# 2.3.4
* Fixed #360: Removed expensive cycle detection (cycles are still detected, but a bit later)
* Fixed #377: `toJS` serialization of Dates and Regexes preserves the original values
* Fixed #379: `@action` decorated methods can now be inherited / overriden
# 2.3.3
* Fixed #186: Log a warning instead of an error if an exception is thrown in a derivation. Fixes issue where React Native would produce unusable error screens (because it shows the first logged error)

@@ -4,0 +10,0 @@ * Fixed #333: Fixed some interoperability issues in combination with `Reflect` / `InversifyJS` decorators. @andykog

24

lib/mobx.d.ts

@@ -8,2 +8,3 @@ export { IAtom, Atom };

export { transaction };
export { IComputedValue };
export { asReference, asFlat, asStructure, asMap };

@@ -13,6 +14,6 @@ export { IInterceptable, IInterceptor };

export { IObjectWillChange, IObjectChange, isObservableObject };
export { IValueWillChange };
export { IValueWillChange, IObservableValue };
export { IObservableArray, IArrayWillChange, IArrayWillSplice, IArrayChange, IArraySplice, isObservableArray, fastArray };
export { IKeyValueMap, ObservableMap, IMapEntries, IMapWillChange, IMapChange, isObservableMap, map };
export { IObservableValue, observable };
export { observable };
export { computed, IComputedValueOptions };

@@ -62,3 +63,3 @@ export { isObservable };

}
declare function computed<T>(func: () => T, scope?: any): IObservableValue<T>;
declare function computed<T>(func: () => T, scope?: any): IComputedValue<T>;
declare function computed(opts: IComputedValueOptions): (target: Object, key: string, baseDescriptor?: PropertyDescriptor) => void;

@@ -85,6 +86,2 @@ declare function computed(target: Object, key: string | symbol, baseDescriptor?: PropertyDescriptor): void;

declare function isObservable(value: any, property?: string): boolean;
interface IObservableValue<T> {
get(): T;
set(value: T): void;
}
declare function observable<T>(): IObservableValue<T>;

@@ -96,3 +93,3 @@ declare function observable(target: Object, key: string, baseDescriptor?: PropertyDescriptor): any;

declare function observable<T extends Object>(value: T): T;
declare function observe<T>(value: IObservableValue<T>, listener: (newValue: T, oldValue: T) => void, fireImmediately?: boolean): Lambda;
declare function observe<T>(value: IObservableValue<T> | IComputedValue<T>, listener: (newValue: T, oldValue: T) => void, fireImmediately?: boolean): Lambda;
declare function observe<T>(observableArray: IObservableArray<T>, listener: (change: IArrayChange<T> | IArraySplice<T>) => void, fireImmediately?: boolean): Lambda;

@@ -131,2 +128,7 @@ declare function observe<T>(observableMap: ObservableMap<T>, listener: (change: IMapChange<T>) => void, fireImmediately?: boolean): Lambda;

}
interface IComputedValue<T> {
get(): T;
set(value: T): void;
observe(listener: (newValue: T, oldValue: T) => void, fireImmediately?: boolean): Lambda;
}
interface IDerivation extends IDepTreeNode, IObservable {

@@ -309,2 +311,8 @@ observing: IObservable[];

}
interface IObservableValue<T> {
get(): T;
set(value: T): void;
intercept(handler: IInterceptor<IValueWillChange<T>>): Lambda;
observe(listener: (newValue: T, oldValue: T) => void, fireImmediately?: boolean): Lambda;
}
declare type ISimpleEventListener = {

@@ -311,0 +319,0 @@ (...data: any[]): void;

/** MobX - (c) Michel Weststrate 2015, 2016 - MIT Licensed */
"use strict";function H(n,a,u){var o,e,r;"string"==typeof n?(o=n,e=a,r=u):"function"==typeof n&&(o=n.name||"Autorun@"+i(),e=n,r=a),p(e,"autorun methods cannot have modifiers"),t("function"==typeof e,"autorun expects a function"),t(0===e.length,"autorun expects a function without arguments"),r&&(e=e.bind(r));var s=new y(o,function(){this.track(e)});return s.schedule(),s.getDisposer()}function Oe(e,s,u,l){var r,o,a,t;"string"==typeof e?(r=e,o=s,a=u,t=l):"function"==typeof e&&(r="When@"+i(),o=e,a=s,t=u);var c=!1,n=H(r,function(){if(o.call(t)){n?n():c=!0;var e=I();a.call(t),j(e)}});return c&&n(),n}function Wt(e,t,n){return a("`autorunUntil` is deprecated, please use `when`."),Oe.apply(null,arguments)}function Jt(e,u,c,l){var a,t,n,r;"string"==typeof e?(a=e,t=u,n=c,r=l):"function"==typeof e&&(a=e.name||"AutorunAsync@"+i(),t=e,n=u,r=c),void 0===n&&(n=1),r&&(t=t.bind(r));var s=!1,o=new y(a,function(){s||(s=!0,setTimeout(function(){s=!1,o.isDisposed||o.track(t)},n))});return o.schedule(),o.getDisposer()}function Ft(a,f,x,g,m,_){function b(){if(!l.isDisposed){var e=!1;l.track(function(){var t=d();e=ve(w,s,t),s=t}),u&&r&&t(s),u||e!==!0||t(s),u&&(u=!1)}}var c,p,t,r,e,o;"string"==typeof a?(c=a,p=f,t=x,r=g,e=m,o=_):(c=a.name||f.name||"Reaction@"+i(),p=a,t=f,r=x,e=g,o=m),void 0===r&&(r=!1),void 0===e&&(e=0);var v=V(p,n.Reference),R=v[0],d=v[1],w=R===n.Structure;o&&(d=d.bind(o),t=le(c,t.bind(o)));var u=!0,h=!1,s=void 0,l=new y(c,function(){1>e?b():h||(h=!0,setTimeout(function(){h=!1,b()},e))});return l.schedule(),l.getDisposer()}function se(e,n,r,o){return arguments.length<3&&"function"==typeof e?Tt(e,n):(t(!r||!r.set,"@observable properties cannot have a setter: "+n),dt.apply(null,arguments))}function Tt(r,o){var e=V(r,n.Recursive),i=e[0],t=e[1];return new f(t,o,i===n.Structure,t.name)}function Re(){throw new Error("[ComputedValue] It is not allowed to assign new values to computed properties.")}function St(n,o){t("function"==typeof n&&1===n.length,"createTransformer expects a function that accepts one argument");var r={},i=e.resetId,a=function(e){function t(t,r){e.call(this,function(){return n(r)},null,!1,"Transformer-"+n.name+"-"+t),this.sourceIdentifier=t,this.sourceObject=r}return ie(t,e),t.prototype.onBecomeUnobserved=function(){var t=this.value;e.prototype.onBecomeUnobserved.call(this),delete r[this.sourceIdentifier],o&&o(t,this.sourceObject)},t}(f);return function(o){i!==e.resetId&&(r={},i=e.resetId);var n=Ot(o),t=r[n];return t?t.get():(t=r[n]=new a(n,o),t.get())}}function Ot(e){if(null===e||"object"!=typeof e)throw new Error("[mobx] transform expected some kind of object, got: "+e);var t=e.$transformId;return void 0===t&&(t=i(),Object.defineProperty(e,"$transformId",{configurable:!0,writable:!0,enumerable:!1,value:t})),t}function xt(e,t){return X()||console.warn("[mobx.expr] 'expr' should only be used inside other reactive functions."),se(e,t).get()}function oe(e){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];return t(arguments.length>=2,"extendObservable expected 2 or more arguments"),t("object"==typeof e,"extendObservable expects an object as first argument"),t(!(e instanceof k),"extendObservable should not be used on maps, use map.merge instead"),o.forEach(function(r){t("object"==typeof r,"all arguments of extendObservable should be objects"),Ce(e,r,n.Recursive,null)}),e}function Ce(e,t,r,o){var i=ue(e,o,r);for(var n in t)if(t.hasOwnProperty(n)){if(e===t&&!We(e,n))continue;ft(i,n,t[n])}return e}function bt(e,t){return nt(m(e,t))}function nt(e){var t={name:e.name};return e.observing&&e.observing.length&&(t.dependencies=E(e.observing).map(nt)),t}function it(e,t){return et(m(e,t))}function et(e){var t={name:e.name};return e.observers&&e.observers.length&&(t.observers=E(e.observers).map(et)),t}function kt(e,t,n){return"function"==typeof n?He(e,t,n):at(e,t)}function at(e,t){return g(e)&&!h(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(pe(e)).intercept(t)):d(e).intercept(t)}function He(e,t,n){return g(e)&&!h(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),oe(e,{property:e[t]}),He(e,t,n)):d(e,t).intercept(n)}function B(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(e instanceof k||e instanceof l)throw new Error("[mobx.isObservable] isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.");if(h(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return!!e.$mobx||e instanceof O||e instanceof y||e instanceof f}function ut(r,e,n){return t(arguments.length>=2&&arguments.length<=3,"Illegal decorator config",e),Je(r,e),t(!n||!n.get,"@observable can not be used on getters, use @computed instead"),vt.apply(null,arguments)}function pe(e,u){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return ut.apply(null,arguments);if(t(arguments.length<3,"observable expects zero, one or two arguments"),B(e))return e;var s=V(e,n.Recursive),r=s[0],i=s[1],c=r===n.Reference?o.Reference:At(i);switch(c){case o.Array:case o.PlainObject:return T(i,r);case o.Reference:case o.ComplexObject:return new A(i,r);case o.ComplexFunction:throw new Error("[mobx.observable] To be able to make a function reactive it should not have arguments. If you need an observable reference to a function, use `observable(asReference(f))`");case o.ViewFunction:return a("Use `computed(expr)` instead of `observable(expr)`"),se(e,u)}t(!1,"Illegal State")}function At(e){return null===e||void 0===e?o.Reference:"function"==typeof e?e.length?o.ComplexFunction:o.ViewFunction:Array.isArray(e)||e instanceof l?o.Array:"object"==typeof e?g(e)?o.PlainObject:o.ComplexObject:o.Reference}function Ct(t,n,e,r){return"function"==typeof e?tt(t,n,e,r):Et(t,n,e)}function Et(e,t,n){return g(e)&&!h(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(pe(e)).observe(t,n)):d(e).observe(t,n)}function tt(e,t,n,r){return g(e)&&!h(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),oe(e,{property:e[t]}),tt(e,t,n,r)):d(e,t).observe(n,r)}function x(e,n,t){function i(r){return n&&t.push([e,r]),r}if(void 0===n&&(n=!0),void 0===t&&(t=null),n&&null===t&&(t=[]),n&&null!==e&&"object"==typeof e)for(var r=0,s=t.length;s>r;r++)if(t[r][0]===e)return t[r][1];if(!e)return e;if(Array.isArray(e)||e instanceof l){var o=i([]),a=e.map(function(e){return x(e,n,t)});o.length=a.length;for(var r=0,s=a.length;s>r;r++)o[r]=a[r];return o}if(e instanceof k){var u=i({});return e.forEach(function(e,r){return u[r]=x(e,n,t)}),u}if(B(e)&&e.$mobx instanceof A)return x(e(),n,t);if(e instanceof A)return x(e.get(),n,t);if("object"==typeof e){var o=i({});for(var c in e)o[c]=x(e[c],n,t);return o}return e}function Vt(n,e,t){return void 0===e&&(e=!0),void 0===t&&(t=null),a("toJSON is deprecated. Use toJS instead"),x.apply(null,arguments)}function be(e){return console.log(e),e}function Pt(n,r){switch(arguments.length){case 0:if(n=e.derivationStack[e.derivationStack.length-1],!n)return be("whyRun() can only be used if a derivation is active, or by passing an computed value / reaction explicitly. If you invoked whyRun from inside a computation; the computation is currently suspended but re-evaluating because somebody requested it's value.");break;case 2:n=m(n,r)}return n=m(n),n instanceof f?be(n.whyRun()):n instanceof y?be(n.whyRun()):void t(!1,"whyRun can only be used on reactions and computed values")}function le(e,t,n,r){return 1===arguments.length&&"function"==typeof e?Ye(e.name||"<unnamed action>",e):2===arguments.length&&"function"==typeof t?Ye(e,t):yt.apply(null,arguments)}function Pe(e){return"function"==typeof e&&e.isMobxAction===!0}function Mt(e,o,i){var n="string"==typeof e?e:e.name||"<unnamed action>",r="function"==typeof e?e:o,a="function"==typeof e?o:i;return t("function"==typeof r,"`runInAction` expects a function"),t(0===r.length,"`runInAction` expects a function without arguments"),t("string"==typeof n&&n.length>0,"actions should have valid names, got: '"+n+"'"),Qe(n,r,a,void 0)}function Ye(e,n){t("function"==typeof n,"`action` can only be invoked on functions"),t("string"==typeof e&&e.length>0,"actions should have valid names, got: '"+e+"'");var r=function(){return Qe(e,n,this,arguments)};return r.isMobxAction=!0,r}function Qe(d,p,o,n){var u=e.derivationStack;t(!(u[u.length-1]instanceof f),"Computed values or transformers should not invoke actions or trigger other side effects");var l,a=r();if(a){l=Date.now();var h=[];if(n)for(var i=0,v=n.length;v>i;i++)h.push(n[i]);s({type:"action",name:d,fn:p,target:o,arguments:h})}var b=I();Ke(d,o,!1);var y=U(!0);try{return p.apply(o,n)}finally{F(y),Be(!1),j(b),a&&c({time:Date.now()-l})}}function Qt(n){t(0===e.derivationStack.length,"It is not allowed to set `useStrict` when a derivation is running"),e.strictMode=n,e.allowStateChanges=!n}function Fe(e,t){var n=U(e),r=t();return F(n),r}function U(t){var n=e.allowStateChanges;return e.allowStateChanges=t,n}function F(t){e.allowStateChanges=t}function xe(e){t(e.isDirty,"atom not dirty"),e.isDirty=!1,re(e,!0)}function X(){return e.derivationStack.length>0}function Y(){e.allowStateChanges||t(!1,e.strictMode?"It is not allowed to create or change state outside an `action` when MobX is in strict mode. Wrap the current method in `action` if this state change is intended":"It is not allowed to change the state when a computed value or transformer is being evaluated. Use 'autorun' to create reactive functions with side-effects.")}function Bt(e){1===++e.dependencyStaleCount&&ke(e)}function Kt(e,n){if(t(e.dependencyStaleCount>0,"unexpected ready notification"),n&&(e.dependencyChangeCount+=1),0===--e.dependencyStaleCount)if(e.dependencyChangeCount>0){e.dependencyChangeCount=0;var r=e.onDependenciesReady();re(e,r)}else re(e,!1)}function De(t,i){var n=!0,a=t.observing;t.observing=[],e.derivationStack.push(t);var s=e.isTracking;e.isTracking=!0;try{var u=i.call(t);return n=!1,e.isTracking=s,Ut(t,a),u}finally{if(n){var o="[mobx] An uncaught exception occurred while calculating your computed value, autorun or transformer. Or inside the render() method of an observer based React component. These functions should never throw exceptions as MobX will not always be able to recover from them. "+("Please fix the error reported after this message or enable 'Pause on (caught) exceptions' in your debugger to find the root cause. In: '"+t.name+"'");r()&&R({type:"error",object:this,message:o}),console.warn(o),ee()}}}function Ut(r,u){e.derivationStack.length-=1;for(var i=Me(r.observing,u),o=i[0],a=i[1],n=0,s=o.length;s>n;n++){var c=o[n];t(!ze(r,c),"Cycle detected",r),Nt(o[n],r)}for(var n=0,s=a.length;s>n;n++)ne(a[n],r)}function ze(n,r){if(n===r)return!0;var e=r.observing;if(void 0===e)return!1;for(var o=e.length,t=0;o>t;t++)if(ze(n,e[t]))return!0;return!1}function Ge(e){var t=I(),n=e();return j(t),n}function I(){var t=e.isTracking;return e.isTracking=!1,t}function j(t){e.isTracking=t}function zt(){}function ee(){e.resetId++;var n=new je;for(var t in n)-1===_t.indexOf(t)&&(e[t]=n[t]);e.allowStateChanges=!e.strictMode}function Nt(e,r){var t=e.observers,n=t.length;t[n]=r,0===n&&e.onBecomeObserved()}function ne(t,r){var e=t.observers,n=e.indexOf(r);-1!==n&&e.splice(n,1),0===e.length&&t.onBecomeUnobserved()}function we(n){if(e.isTracking!==!1){var o=e.derivationStack,t=o[o.length-1].observing,r=t.length;t[r-1]!==n&&t[r-2]!==n&&(t[r]=n)}}function ke(e){var t=e.observers.slice();t.forEach(Bt),e.staleObservers=e.staleObservers.concat(t)}function re(e,t){e.staleObservers.splice(0).forEach(function(e){return Kt(e,t)})}function ae(){if(!(e.isRunningReactions===!0||e.inTransaction>0)){e.isRunningReactions=!0;for(var t=e.pendingReactions,o=0;t.length>0;){if(++o===ot)throw new Error("Reaction doesn't converge to a stable state. Probably there is a cycle in the reactive function: "+t[0].toString());for(var r=t.splice(0),n=0,i=r.length;i>n;n++)r[n].runReaction()}e.isRunningReactions=!1}}function r(){return J}function R(r){if(!J)return!1;for(var n=e.spyListeners,t=0,o=n.length;o>t;t++)n[t](r)}function s(e){var t=Ze({},e,{spyReportStart:!0});R(t)}function c(e){R(e?Ze({},e,Se):Se)}function Ne(t){return e.spyListeners.push(t),J=e.spyListeners.length>0,$(function(){var n=e.spyListeners.indexOf(t);-1!==n&&e.spyListeners.splice(n,1),J=e.spyListeners.length>0})}function Dt(e){return a("trackTransitions is deprecated. Use mobx.spy instead"),"boolean"==typeof e&&(a("trackTransitions only takes a single callback function. If you are using the mobx-react-devtools, please update them first"),e=arguments[1]),e?Ne(e):(a("trackTransitions without callback has been deprecated and is a no-op now. If you are using the mobx-react-devtools, please update them first"),function(){})}function L(n,e,t){void 0===e&&(e=void 0),void 0===t&&(t=!0),Ke(n.name||"anonymous transaction",e,t);var r=n.call(e);return Be(t),r}function Ke(o,t,n){void 0===t&&(t=void 0),void 0===n&&(n=!0),e.inTransaction+=1,n&&r()&&s({type:"transaction",target:t,name:o})}function Be(t){if(void 0===t&&(t=!0),0===--e.inTransaction){for(var o=e.changedAtoms.splice(0),n=0,i=o.length;i>n;n++)xe(o[n]);ae()}t&&r()&&c()}function w(e){return e.interceptors&&e.interceptors.length>0}function M(t,n){var e=t.interceptors||(t.interceptors=[]);return e.push(n),$(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function _(o,e){for(var i=I(),r=o.interceptors,n=0,a=r.length;a>n;n++)if(e=r[n](e),t(!e||e.type,"Intercept handlers should return nothing or a change object"),!e)return null;return j(i),e}function b(e){return e.changeListeners&&e.changeListeners.length>0}function z(t,n){var e=t.changeListeners||(t.changeListeners=[]);return e.push(n),$(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function v(r,n){var o=I(),e=r.changeListeners;if(e){e=e.slice();for(var t=0,i=e.length;i>t;t++)Array.isArray(n)?e[t].apply(null,n):e[t](n);j(o)}}function Q(e){return new Z(e)}function te(e){return new N(e)}function _e(e){return new q(e)}function It(e,t){return Le(e,t)}function V(e,t){return e instanceof Z?[n.Reference,e.value]:e instanceof N?[n.Structure,e.value]:e instanceof q?[n.Flat,e.value]:[t,e]}function jt(e){return e===Q?n.Reference:e===te?n.Structure:e===_e?n.Flat:(t(void 0===e,"Cannot determine value mode from function. Please pass in one of these: mobx.asReference, mobx.asStructure or mobx.asFlat, got: "+e),n.Recursive)}function T(e,a,i){var r;if(B(e))return e;switch(a){case n.Reference:return e;case n.Flat:p(e,"Items inside 'asFlat' cannot have modifiers"),r=n.Reference;break;case n.Structure:p(e,"Items inside 'asStructure' cannot have modifiers"),r=n.Structure;break;case n.Recursive:o=V(e,n.Recursive),r=o[0],e=o[1];break;default:t(!1,"Illegal State")}return Array.isArray(e)?Ve(e,r,i):g(e)&&Object.isExtensible(e)?Ce(e,e,r,i):e;var o}function p(e,t){if(e instanceof Z||e instanceof N||e instanceof q)throw new Error("[mobx] asStructure / asReference / asFlat cannot be used here. "+t)}function Rt(e){Object.defineProperty(l.prototype,""+e,{enumerable:!1,configurable:!1,set:gt(e),get:mt(e)})}function gt(e){return function(t){var r=this.$mobx,o=r.values;if(p(t,"Modifiers cannot be used on array values. For non-reactive array values use makeReactive(asFlat(array))."),e<o.length){Y();var i=o[e];if(w(r)){var a=_(r,{type:"update",object:r.array,index:e,newValue:t});if(!a)return;t=a.newValue}t=r.makeReactiveArrayItem(t);var s=r.mode===n.Structure?!K(i,t):i!==t;s&&(o[e]=t,r.notifyArrayChildUpdate(e,t,i))}else{if(e!==o.length)throw new Error("[mobx.array] Index out of bounds, "+e+" is larger than "+o.length);r.spliceWithArray(e,0,[t])}}}function mt(e){return function(){var t=this.$mobx;return t&&e<t.values.length?(t.atom.reportObserved(),t.values[e]):void 0}}function Ee(t){for(var e=fe;t>e;e++)Rt(e);fe=t}function Ve(e,t,n){return new l(e,t,n)}function ht(e){return a("fastArray is deprecated. Please use `observable(asFlat([]))`"),Ve(e,n.Flat,null)}function G(e){return e instanceof l}function Le(e,t){return new k(e,t)}function W(e){return e instanceof k}function ue(e,t,r){if(void 0===r&&(r=n.Recursive),h(e))return e.$mobx;g(e)||(t=e.constructor.name+"@"+i()),t||(t="ObservableObject@"+i());var o=new ge(e,t,r);return Object.defineProperty(e,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:o}),o}function ft(e,t,n){e.values[t]?e.target[t]=n:ce(e,t,n,!0)}function ce(t,n,e,a){a&&Je(t.target,n);var r,o=t.name+"."+n,i=!0;if("function"!=typeof e||0!==e.length||Pe(e))if(e instanceof N&&"function"==typeof e.value&&0===e.value.length)r=new f(e.value,t.target,!0,o);else{if(i=!1,w(t)){var s=_(t,{object:t.target,name:n,type:"add",newValue:e});if(!s)return;e=s.newValue}r=new A(e,t.mode,o,!1),e=r.value}else r=new f(e,t.target,!1,o);t.values[n]=r,a&&Object.defineProperty(t.target,n,i?lt(n):pt(n)),i||ct(t,t.target,n,e)}function pt(e){var t=rt[e];return t?t:rt[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){me(this,e,t)}}}function lt(e){var t=Te[e];return t?t:Te[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:Re}}function me(o,i,e){var t=o.$mobx,a=t.values[i];if(w(t)){var n=_(t,{type:"update",object:o,name:i,newValue:e});if(!n)return;e=n.newValue}if(e=a.prepareNewValue(e),e!==D){var l=b(t),u=r(),n=v||b?{type:"update",object:o,oldValue:a.value,name:i,newValue:e}:null;u&&s(n),a.setNewValue(e),l&&v(t,n),u&&c()}}function ct(t,i,a,u){var n=b(t),e=r(),o=n||e?{type:"add",object:i,name:a,newValue:u}:null;e&&s(o),n&&v(t,o),e&&c()}function h(e){return"object"==typeof e&&null!==e?(C(e),e.$mobx instanceof ge):!1}function m(e,n){if("object"==typeof e&&null!==e){if(G(e))return t(void 0===n,"It is not possible to get index atoms from arrays"),e.$mobx.atom;if(W(e)){if(void 0===n)return m(e._keys);var r=e._data[n]||e._hasMap[n];return t(!!r,"the entry '"+n+"' does not exist in the observable map '"+he(e)+"'"),r}if(C(e),h(e)){t(!!n,"please specify a property");var o=e.$mobx.values[n];return t(!!o,"no observable property '"+n+"' found on the observable object '"+he(e)+"'"),o}if(e instanceof O||e instanceof f||e instanceof y)return e}else if("function"==typeof e&&e.$mobx instanceof y)return e.$mobx;t(!1,"Cannot obtain atom from "+e)}function d(e,n){return t(e,"Expection some object"),void 0!==n?d(m(e,n)):e instanceof O||e instanceof f||e instanceof y?e:W(e)?e:(C(e),e.$mobx?e.$mobx:void t(!1,"Cannot obtain administration from "+e))}function he(e,t){var n;return n=void 0!==t?m(e,t):h(e)||W(e)?d(e):m(e),n.name}function de(e,r,o,i,a){function n(s,n,u,l){if(t(a||Xe(arguments),"This function is a decorator, but it wasn't invoked like a decorator"),u){s.hasOwnProperty("__mobxLazyInitializers")||Object.defineProperty(s,"__mobxLazyInitializers",{writable:!1,configurable:!1,enumerable:!1,value:s.__mobxLazyInitializers&&s.__mobxLazyInitializers.slice()||[]});var f=u.value,p=u.initializer;return s.__mobxLazyInitializers.push(function(t){e(t,n,p?p.call(t):f,l,u)}),{enumerable:i,configurable:!0,get:function(){return this.__mobxDidRunLazyInitializers!==!0&&C(this),r.call(this,n)},set:function(e){this.__mobxDidRunLazyInitializers!==!0&&C(this),o.call(this,n,e)}}}var c={enumerable:i,configurable:!0,get:function(){return this.__mobxInitializedProps&&this.__mobxInitializedProps[n]===!0||qe(this,n,void 0,e,l,c),r.call(this,n)},set:function(t){this.__mobxInitializedProps&&this.__mobxInitializedProps[n]===!0?o.call(this,n,t):qe(this,n,t,e,l,c)}};return arguments.length<3&&Object.defineProperty(s,n,c),c}return a?function(){if(Xe(arguments))return n.apply(null,arguments);var e=arguments;return function(t,r,o){return n(t,r,o,e)}}:n}function qe(e,t,n,r,o,i){e.hasOwnProperty("__mobxInitializedProps")||Object.defineProperty(e,"__mobxInitializedProps",{enumerable:!1,configurable:!1,writable:!0,value:{}}),e.__mobxInitializedProps[t]=!0,r(e,t,n,o,i)}function C(e){e.__mobxDidRunLazyInitializers!==!0&&e.__mobxLazyInitializers&&(Object.defineProperty(e,"__mobxDidRunLazyInitializers",{enumerable:!1,configurable:!1,writable:!1,value:!0}),e.__mobxDidRunLazyInitializers&&e.__mobxLazyInitializers.forEach(function(t){return t(e)}))}function Xe(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]}function i(){return++e.mobxGuid}function t(t,n,e){if(!t)throw new Error("[mobx] Invariant failed: "+n+(e?" in '"+e+"'":""))}function a(e){-1===Ie.indexOf(e)&&(Ie.push(e),console.error("[mobx] Deprecated: "+e))}function $(t){var e=!1;return function(){return e?void 0:(e=!0,t.apply(this,arguments))}}function E(t){var e=[];return t.forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),e}function ye(t,e,n){if(void 0===e&&(e=100),void 0===n&&(n=" - "),!t)return"";var r=t.slice(0,e);return""+r.join(n)+(t.length>e?" (... and "+(t.length-e)+"more)":"")}function g(e){return null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype}function Ze(){for(var r=arguments[0],e=1,o=arguments.length;o>e;e++){var t=arguments[e];for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])}return r}function ve(n,e,t){return n?!K(e,t):e!==t}function st(n,t){for(var e=0;e<t.length;e++)Object.defineProperty(n,t[e],{configurable:!0,writable:!0,enumerable:!1,value:n[t[e]]})}function We(t,n){var e=Object.getOwnPropertyDescriptor(t,n);return!e||e.configurable!==!1&&e.writable!==!1}function Je(n,e){t(We(n,e),"Cannot make property '"+e+"' observable, it is not configurable and writable in the target object")}function Ue(t){var e=[];for(var n in t)e.push(n);return e}function K(e,t){if(null===e&&null===t)return!0;if(void 0===e&&void 0===t)return!0;var o=Array.isArray(e)||G(e);if(o!==(Array.isArray(t)||G(t)))return!1;if(o){if(e.length!==t.length)return!1;for(var n=e.length;n>=0;n--)if(!K(e[n],t[n]))return!1;return!0}if("object"==typeof e&&"object"==typeof t){if(null===e||null===t)return!1;if(Ue(e).length!==Ue(t).length)return!1;for(var r in e){if(!(r in t))return!1;if(!K(e[r],t[r]))return!1}return!0}return e===t}function Me(n,r){if(!r||!r.length)return[n,[]];if(!n||!n.length)return[[],r];for(var a=[],s=[],e=0,o=0,f=n.length,c=!1,t=0,i=0,l=r.length,u=!1,p=!1;!p&&!c;){if(!u){if(f>e&&l>t&&n[e]===r[t]){if(e++,t++,e===f&&t===l)return[a,s];continue}o=e,i=t,u=!0}i+=1,o+=1,i>=l&&(p=!0),o>=f&&(c=!0),c||n[o]!==r[t]?p||r[i]!==n[e]||(s=s.concat(r.slice(t,i)),t=i+1,e++,u=!1):(a=a.concat(n.slice(e,o)),e=o+1,t++,u=!1)}return[a.concat(n.slice(e)),s.concat(r.slice(t))]}var ie=this&&this.__extends||function(t,e){function r(){this.constructor=t}for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};zt(),exports.extras={allowStateChanges:Fe,getAtom:m,getDebugName:he,getDependencyTree:bt,getObserverTree:it,isComputingDerivation:X,isSpyEnabled:r,resetGlobalState:ee,spyReport:R,spyReportEnd:c,spyReportStart:s,trackTransitions:Dt},exports._={getAdministration:d,quickDiff:Me,resetGlobalState:ee},exports.autorun=H,exports.when=Oe,exports.autorunUntil=Wt,exports.autorunAsync=Jt,exports.reaction=Ft;var dt=de(function(i,a,c,e,s){var r=s.get;t("function"==typeof r,"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'");var o=!1;e&&1===e.length&&e[0].asStructure===!0&&(o=!0);var u=ue(i,void 0,n.Recursive);ce(u,a,o?te(r):r,!1)},function(e){return this.$mobx.values[e].get()},Re,!1,!0);exports.computed=se,exports.createTransformer=St,exports.expr=xt,exports.extendObservable=oe,exports.intercept=kt,exports.isObservable=B;var vt=de(function(t,r,e){var o=U(!0);"function"==typeof e&&(e=Q(e));var i=ue(t,void 0,n.Recursive);ce(i,r,e,!0),F(o)},function(e){return this.$mobx.values[e].get()},function(e,t){me(this,e,t)},!0,!1);exports.observable=pe;var o;!function(e){e[e.Reference=0]="Reference",e[e.PlainObject=1]="PlainObject",e[e.ComplexObject=2]="ComplexObject",e[e.Array=3]="Array",e[e.ViewFunction=4]="ViewFunction",e[e.ComplexFunction=5]="ComplexFunction"}(o||(o={})),exports.observe=Ct,exports.toJS=x,exports.toJSON=Vt,exports.whyRun=Pt;var yt=de(function(e,t,r,n,o){var a=n&&1===n.length?n[0]:r.name||t||"<unnamed action>",i=le(a,r);o&&o.value&&e.constructor&&e.constructor.prototype?Object.defineProperty(e.constructor.prototype,t,{configurable:!0,enumerable:!1,writable:!1,value:i}):Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!1,value:i})},function(e){return this[e]},function(){t(!1,"It is not allowed to assign new values to @action fields")},!1,!0);exports.action=le,exports.isAction=Pe,exports.runInAction=Mt,exports.useStrict=Qt;var O=function(){function n(e,t,n){void 0===e&&(e="Atom@"+i()),void 0===t&&(t=Ae),void 0===n&&(n=Ae),this.name=e,this.onBecomeObserved=t,this.onBecomeUnobserved=n,this.isDirty=!1,this.staleObservers=[],this.observers=[]}return n.prototype.reportObserved=function(){we(this)},n.prototype.reportChanged=function(){this.isDirty||(this.reportStale(),this.reportReady())},n.prototype.reportStale=function(){this.isDirty||(this.isDirty=!0,ke(this))},n.prototype.reportReady=function(){t(this.isDirty,"atom not dirty"),e.inTransaction>0?e.changedAtoms.push(this):(xe(this),ae())},n.prototype.toString=function(){return this.name},n}();exports.Atom=O;var f=function(){function n(e,t,n,r){this.derivation=e,this.scope=t,this.compareStructural=n,this.isLazy=!0,this.isComputing=!1,this.staleObservers=[],this.observers=[],this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.value=void 0,this.name=r||"ComputedValue@"+i()}return n.prototype.peek=function(){this.isComputing=!0;var e=U(!1),t=this.derivation.call(this.scope);return F(e),this.isComputing=!1,t},n.prototype.onBecomeObserved=function(){},n.prototype.onBecomeUnobserved=function(){for(var e=0,t=this.observing.length;t>e;e++)ne(this.observing[e],this);this.observing=[],this.isLazy=!0,this.value=void 0},n.prototype.onDependenciesReady=function(){var e=this.trackAndCompute();return e},n.prototype.get=function(){if(t(!this.isComputing,"Cycle detected",this.derivation),we(this),this.dependencyStaleCount>0)return this.peek();if(this.isLazy){if(!X())return this.peek();this.isLazy=!1,this.trackAndCompute()}return this.value},n.prototype.set=function(e){throw new Error("[ComputedValue '"+name+"'] It is not possible to assign a new value to a computed value.")},n.prototype.trackAndCompute=function(){r()&&R({object:this,type:"compute",fn:this.derivation,target:this.scope});var e=this.value,t=this.value=De(this,this.peek);return ve(this.compareStructural,t,e)},n.prototype.observe=function(n,r){var o=this,e=!0,t=void 0;return H(function(){var i=o.get();if(!e||r){var a=I();n(i,t),j(a)}e=!1,t=i})},n.prototype.toJSON=function(){return this.get()},n.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},n.prototype.whyRun=function(){var n=e.derivationStack.length>0,i=E(this.observing).map(function(e){return e.name}),r=E(this.observers).map(function(e){return e.name}),t=this.isComputing?n?this.observers.length>0?u.INVALIDATED:u.REQUIRED:u.PEEK:u.NOT_RUNNING;if(t===u.REQUIRED){var o=e.derivationStack[e.derivationStack.length-2];o&&r.push(o.name)}return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+wt[t]+" "+(t===u.NOT_RUNNING&&this.dependencyStaleCount>0?"(a next run is scheduled)":"")+"\n"+(this.isLazy?" * This computation is suspended (not in use by any reaction) and won't run automatically.\n Didn't expect this computation to be suspended at this point?\n 1. Make sure this computation is used by a reaction (reaction, autorun, observer).\n 2. Check whether you are using this computation synchronously (in the same stack as they reaction that needs it).\n":" * This computation will re-run if any of the following observables changes:\n "+ye(i)+"\n "+(this.isComputing&&n?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n * If the outcome of this computation changes, the following observers will be re-run:\n "+ye(r)+"\n")},n}(),u;!function(e){e[e.PEEK=0]="PEEK",e[e.INVALIDATED=1]="INVALIDATED",e[e.REQUIRED=2]="REQUIRED",e[e.NOT_RUNNING=3]="NOT_RUNNING"}(u||(u={}));var wt=(S={},S[u.PEEK]="[peek] The value of this computed value was requested outside an reaction",S[u.INVALIDATED]="[invalidated] Some observables used by this computation did change",S[u.REQUIRED]="[started] This computation is required by another computed value / reaction",S[u.NOT_RUNNING]="[idle] This compution is currently not running",S);exports.untracked=Ge;var _t=["mobxGuid","resetId","spyListeners","strictMode"],je=function(){function e(){this.version=2,this.derivationStack=[],this.mobxGuid=0,this.inTransaction=0,this.isTracking=!1,this.isRunningReactions=!1,this.changedAtoms=[],this.pendingReactions=[],this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[]}return e}(),e=function(){var e=new je;if(global.__mobservableTrackingStack||global.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(global.__mobxGlobal&&global.__mobxGlobal.version!==e.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");return global.__mobxGlobal?global.__mobxGlobal:global.__mobxGlobal=e}(),y=function(){function t(e,t){void 0===e&&(e="Reaction@"+i()),this.name=e,this.onInvalidate=t,this.staleObservers=P,this.observers=P,this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return t.prototype.onBecomeObserved=function(){},t.prototype.onBecomeUnobserved=function(){},t.prototype.onDependenciesReady=function(){return this.schedule(),!1},t.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,e.pendingReactions.push(this),ae())},t.prototype.isScheduled=function(){return this.dependencyStaleCount>0||this._isScheduled},t.prototype.runReaction=function(){this.isDisposed||(this._isScheduled=!1,this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&r()&&R({object:this,type:"scheduled-reaction"}))},t.prototype.track=function(e){var t,n=r();n&&(t=Date.now(),s({object:this,type:"reaction",fn:e})),this._isRunning=!0,De(this,e),this._isRunning=!1,this._isTrackPending=!1,n&&c({time:Date.now()-t})},t.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var t=this.observing.splice(0),e=0,n=t.length;n>e;e++)ne(t[e],this)}},t.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e},t.prototype.toString=function(){return"Reaction["+this.name+"]"},t.prototype.whyRun=function(){var e=E(this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+ye(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n"},t}();exports.Reaction=y;var ot=100,J=!1,Se={spyReportEnd:!0};exports.spy=Ne,exports.transaction=L;var n;!function(e){e[e.Recursive=0]="Recursive",e[e.Reference=1]="Reference",e[e.Structure=2]="Structure",e[e.Flat=3]="Flat"}(n||(n={})),exports.asReference=Q,exports.asStructure=te,exports.asFlat=_e;var Z=function(){function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}(),N=function(){function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}(),q=function(){
function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}();exports.asMap=It;var fe=0,$e=function(){function e(){}return e}();$e.prototype=[];var Lt=function(){function e(e,t,n,r){this.mode=t,this.array=n,this.owned=r,this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new O(e||"ObservableArray@"+i())}return e.prototype.makeReactiveArrayItem=function(e){return p(e,"Array values cannot have modifiers"),this.mode===n.Flat||this.mode===n.Reference?e:T(e,this.mode,this.atom.name+"[..]")},e.prototype.intercept=function(e){return M(this,e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),z(this,t)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||0>e)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;e!==t&&(e>t?this.spliceWithArray(t,0,new Array(e-t)):this.spliceWithArray(e,t-e))},e.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e>fe&&Ee(t+e)},e.prototype.spliceWithArray=function(e,n,t){Y();var r=this.values.length;if(void 0===e?e=0:e>r?e=r:0>e&&(e=Math.max(0,r+e)),n=1===arguments.length?r-e:void 0===n||null===n?0:Math.max(0,Math.min(n,r-e)),void 0===t&&(t=[]),w(this)){var o=_(this,{object:this.array,type:"splice",index:e,removedCount:n,added:t});if(!o)return P;n=o.removedCount,t=o.added}t=t.map(this.makeReactiveArrayItem,this);var s=t.length-n;this.updateArrayLength(r,s);var i=(a=this.values).splice.apply(a,[e,n].concat(t));return(0!==n||0!==t.length)&&this.notifyArraySplice(e,t,i),i;var a},e.prototype.notifyArrayChildUpdate=function(o,i,a){var e=!this.owned&&r(),t=b(this),n=t||e?{object:this.array,type:"update",index:o,newValue:i,oldValue:a}:null;e&&s(n),this.atom.reportChanged(),t&&v(this,n),e&&c()},e.prototype.notifyArraySplice=function(a,t,n){var e=!this.owned&&r(),o=b(this),i=o||e?{object:this.array,type:"splice",index:a,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;e&&s(i),this.atom.reportChanged(),o&&v(this,i),e&&c()},e}(),l=function(t){function e(n,o,i,r){void 0===r&&(r=!1),t.call(this);var e=new Lt(i,o,this,r);Object.defineProperty(this,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:e}),n&&n.length?(e.updateArrayLength(0,n.length),e.values=n.map(e.makeReactiveArrayItem,e),e.notifyArraySplice(0,e.values.slice(),P)):e.values=[]}return ie(e,t),e.prototype.intercept=function(e){return this.$mobx.intercept(e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.replace=function(e){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,e)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.values},e.prototype.find=function(r,o,t){void 0===t&&(t=0),this.$mobx.atom.reportObserved();for(var n=this.$mobx.values,i=n.length,e=t;i>e;e++)if(r.call(o,n[e],e,this))return n[e]},e.prototype.splice=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,n)}return this.$mobx.spliceWithArray(t,n,r)},e.prototype.push=function(){for(var n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];var t=this.$mobx;return t.spliceWithArray(t.values.length,0,n),t.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){this.$mobx.atom.reportObserved();var e=this.slice();return e.reverse.apply(e,arguments)},e.prototype.sort=function(t){this.$mobx.atom.reportObserved();var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.values.indexOf(t);return e>-1?(this.splice(e,1),!0):!1},e.prototype.toString=function(){return"[mobx.array] "+Array.prototype.toString.apply(this.$mobx.values,arguments)},e.prototype.toLocaleString=function(){return"[mobx.array] "+Array.prototype.toLocaleString.apply(this.$mobx.values,arguments)},e}($e);st(l.prototype,["constructor","observe","clear","replace","toJSON","peek","find","splice","push","pop","shift","unshift","reverse","sort","remove","toString","toLocaleString"]),Object.defineProperty(l.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(e){this.$mobx.setArrayLength(e)}}),["concat","every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"].forEach(function(e){var t=Array.prototype[e];Object.defineProperty(l.prototype,e,{configurable:!1,writable:!0,enumerable:!1,value:function(){return this.$mobx.atom.reportObserved(),t.apply(this.$mobx.values,arguments)}})}),Ee(1e3),exports.fastArray=ht,exports.isObservableArray=G;var $t={},k=function(){function e(e,r){var t=this;this.$mobx=$t,this._data={},this._hasMap={},this.name="ObservableMap@"+i(),this._keys=new l(null,n.Reference,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this._valueMode=jt(r),this._valueMode===n.Flat&&(this._valueMode=n.Reference),Fe(!0,function(){g(e)?t.merge(e):Array.isArray(e)&&e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)})})}return e.prototype._has=function(e){return"undefined"!=typeof this._data[e]},e.prototype.has=function(e){return this.isValidKey(e)?(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get()):!1},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(p(t,"[mobx.map.set] Expected unwrapped value to be inserted to key '"+e+"'. If you need to use modifiers pass them as second argument to the constructor"),w(this)){var r=_(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return;t=r.newValue}n?this._updateValue(e,t):this._addValue(e,t)},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,w(this)){var n=_(this,{type:"delete",object:this,name:e});if(!n)return}if(this._has(e)){var o=r(),i=b(this),n=i||o?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;o&&s(n),L(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1);var n=t._data[e];n.setNewValue(void 0),t._data[e]=void 0},void 0,!1),i&&v(this,n),o&&c()}},e.prototype._updateHasMapEntry=function(t,r){var e=this._hasMap[t];return e?e.setNewValue(r):e=this._hasMap[t]=new A(r,n.Reference,this.name+"."+t+"?",!1),e},e.prototype._updateValue=function(o,e){var t=this._data[o];if(e=t.prepareNewValue(e),e!==D){var n=r(),i=b(this),a=i||n?{type:"update",object:this,oldValue:t.value,name:o,newValue:e}:null;n&&s(a),t.setNewValue(e),i&&v(this,a),n&&c()}},e.prototype._addValue=function(e,n){var t=this;L(function(){var r=t._data[e]=new A(n,t._valueMode,t.name+"."+e,!1);n=r.value,t._updateHasMapEntry(e,!0),t._keys.push(e)},void 0,!1);var o=r(),i=b(this),a=i||o?{type:"add",object:this,name:e,newValue:n}:null;o&&s(a),i&&v(this,a),o&&c()},e.prototype.get=function(e){return e=""+e,this.has(e)?this._data[e].get():void 0},e.prototype.keys=function(){return this._keys.slice()},e.prototype.values=function(){return this.keys().map(this.get,this)},e.prototype.entries=function(){var e=this;return this.keys().map(function(t){return[t,e.get(t)]})},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r)})},e.prototype.merge=function(t){var n=this;return L(function(){t instanceof e?t.keys().forEach(function(e){return n.set(e,t.get(e))}):Object.keys(t).forEach(function(e){return n.set(e,t[e])})},void 0,!1),this},e.prototype.clear=function(){var e=this;L(function(){Ge(function(){e.keys().forEach(e.delete,e)})},void 0,!1)},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var t=this,e={};return this.keys().forEach(function(n){return e[n]=t.get(n)}),e},e.prototype.toJs=function(){return a("toJs is deprecated, use toJS instead"),this.toJS()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null===e||void 0===e?!1:"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e?!1:!0},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"'")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,n){return t(n!==!0,"`observe` doesn't support the fire immediately property for observable maps."),z(this,e)},e.prototype.intercept=function(e){return M(this,e)},e}();exports.ObservableMap=k,exports.map=Le,exports.isObservableMap=W;var ge=function(){function e(e,t,n){this.target=e,this.name=t,this.mode=n,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,n){return t(n!==!0,"`observe` doesn't support the fire immediately property for observable objects."),z(this,e)},e.prototype.intercept=function(e){return M(this,e)},e}(),rt={},Te={};exports.isObservableObject=h;var D={},A=function(t){function e(s,u,e,o){void 0===e&&(e="ObservableValue@"+i()),void 0===o&&(o=!0),t.call(this,e),this.mode=u,this.hasUnreportedChange=!1,this.value=void 0;var a=V(s,n.Recursive),c=a[0],l=a[1];this.mode===n.Recursive&&(this.mode=c),this.value=T(l,this.mode,this.name),o&&r()&&R({type:"create",object:this,newValue:this.value})}return ie(e,t),e.prototype.set=function(e){var n=this.value;if(e=this.prepareNewValue(e),e!==D){var t=r();t&&s({type:"update",object:this,newValue:e,oldValue:n}),this.setNewValue(e),t&&c()}},e.prototype.prepareNewValue=function(e){if(p(e,"Modifiers cannot be used on non-initial values."),Y(),w(this)){var t=_(this,{object:this,type:"update",newValue:e});if(!t)return D;e=t.newValue}var r=ve(this.mode===n.Structure,this.value,e);return r?T(e,this.mode,this.name):D},e.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),b(this)&&v(this,[e,t])},e.prototype.get=function(){return this.reportObserved(),this.value},e.prototype.intercept=function(e){return M(this,e)},e.prototype.observe=function(e,t){return t&&e(this.value,void 0),z(this,e)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e}(O),Gt=function(){function e(){this.listeners=[],a("extras.SimpleEventEmitter is deprecated and will be removed in the next major release")}return e.prototype.emit=function(){for(var t=this.listeners.slice(),e=0,n=t.length;n>e;e++)t[e].apply(null,arguments)},e.prototype.on=function(e){var t=this;return this.listeners.push(e),$(function(){var n=t.listeners.indexOf(e);-1!==n&&t.listeners.splice(n,1)})},e.prototype.once=function(t){var e=this.on(function(){e(),t.apply(this,arguments)});return e},e}();exports.SimpleEventEmitter=Gt;var P=[];Object.freeze(P);var Ie=[],Ae=function(){},S;
"use strict";function ae(n,i,u){var o,e,r;"string"==typeof n?(o=n,e=i,r=u):"function"==typeof n&&(o=n.name||"Autorun@"+a(),e=n,r=i),l(e,"autorun methods cannot have modifiers"),t("function"==typeof e,"autorun expects a function"),t(0===e.length,"autorun expects a function without arguments"),r&&(e=e.bind(r));var s=new y(o,function(){this.track(e)});return s.schedule(),s.getDisposer()}function Se(e,s,u,l){var r,o,i,t;"string"==typeof e?(r=e,o=s,i=u,t=l):"function"==typeof e&&(r="When@"+a(),o=e,i=s,t=u);var c=!1,n=ae(r,function(){if(o.call(t)){n?n():c=!0;var e=k();i.call(t),j(e)}});return c&&n(),n}function Bt(e,t,n){return i("`autorunUntil` is deprecated, please use `when`."),Se.apply(null,arguments)}function Wt(e,u,c,l){var i,t,n,r;"string"==typeof e?(i=e,t=u,n=c,r=l):"function"==typeof e&&(i=e.name||"AutorunAsync@"+a(),t=e,n=u,r=c),void 0===n&&(n=1),r&&(t=t.bind(r));var s=!1,o=new y(i,function(){s||(s=!0,setTimeout(function(){s=!1,o.isDisposed||o.track(t)},n))});return o.schedule(),o.getDisposer()}function Gt(i,f,x,g,m,_){function b(){if(!l.isDisposed){var e=!1;l.track(function(){var t=d();e=ue(w,s,t),s=t}),u&&r&&t(s),u||e!==!0||t(s),u&&(u=!1)}}var c,p,t,r,e,o;"string"==typeof i?(c=i,p=f,t=x,r=g,e=m,o=_):(c=i.name||f.name||"Reaction@"+a(),p=i,t=f,r=x,e=g,o=m),void 0===r&&(r=!1),void 0===e&&(e=0);var v=E(p,n.Reference),R=v[0],d=v[1],w=R===n.Structure;o&&(d=d.bind(o),t=q(c,t.bind(o)));var u=!0,h=!1,s=void 0,l=new y(c,function(){1>e?b():h||(h=!0,setTimeout(function(){h=!1,b()},e))});return l.schedule(),l.getDisposer()}function X(e,n,r,o){return arguments.length<3&&"function"==typeof e?zt(e,n):(t(!r||!r.set,"@observable properties cannot have a setter: "+n),dt.apply(null,arguments))}function zt(r,o){var e=E(r,n.Recursive),i=e[0],t=e[1];return new m(t,o,i===n.Structure,t.name)}function Te(){throw new Error("[ComputedValue] It is not allowed to assign new values to computed properties.")}function Dt(n,o){t("function"==typeof n&&1===n.length,"createTransformer expects a function that accepts one argument");var r={},i=e.resetId,a=function(e){function t(t,r){e.call(this,function(){return n(r)},null,!1,"Transformer-"+n.name+"-"+t),this.sourceIdentifier=t,this.sourceObject=r}return ie(t,e),t.prototype.onBecomeUnobserved=function(){var t=this.value;e.prototype.onBecomeUnobserved.call(this),delete r[this.sourceIdentifier],o&&o(t,this.sourceObject)},t}(m);return function(o){i!==e.resetId&&(r={},i=e.resetId);var n=Vt(o),t=r[n];return t?t.get():(t=r[n]=new a(n,o),t.get())}}function Vt(e){if(null===e||"object"!=typeof e)throw new Error("[mobx] transform expected some kind of object, got: "+e);var t=e.$transformId;return void 0===t&&(t=a(),Object.defineProperty(e,"$transformId",{configurable:!0,writable:!0,enumerable:!1,value:t})),t}function Et(e,t){return he()||console.warn("[mobx.expr] 'expr' should only be used inside other reactive functions."),X(e,t).get()}function ce(e){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];return t(arguments.length>=2,"extendObservable expected 2 or more arguments"),t("object"==typeof e,"extendObservable expects an object as first argument"),t(!(e instanceof A),"extendObservable should not be used on maps, use map.merge instead"),o.forEach(function(r){t("object"==typeof r,"all arguments of extendObservable should be objects"),Ne(e,r,n.Recursive,null)}),e}function Ne(e,t,r,o){var i=Q(e,o,r);for(var n in t)if(t.hasOwnProperty(n)){if(e===t&&!ge(e,n))continue;Lt(i,n,t[n])}return e}function It(e,t){return Ue(v(e,t))}function Ue(e){var t={name:e.name};return e.observing&&e.observing.length&&(t.dependencies=L(e.observing).map(Ue)),t}function St(e,t){return Je(v(e,t))}function Je(e){var t={name:e.name};return e.observers&&e.observers.length&&(t.observers=L(e.observers).map(Je)),t}function xt(e,t,n){return"function"==typeof n?Ke(e,t,n):gt(e,t)}function gt(e,t){return g(e)&&!h(e)?(i("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(te(e)).intercept(t)):d(e).intercept(t)}function Ke(e,t,n){return g(e)&&!h(e)?(i("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),ce(e,{property:e[t]}),Ke(e,t,n)):d(e,t).intercept(n)}function J(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(e instanceof A||e instanceof p)throw new Error("[mobx.isObservable] isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.");if(h(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return!!e.$mobx||e instanceof S||e instanceof y||e instanceof m}function bt(r,e,n){return t(arguments.length>=2&&arguments.length<=3,"Illegal decorator config",e),nt(r,e),t(!n||!n.get,"@observable can not be used on getters, use @computed instead"),vt.apply(null,arguments)}function te(e,u){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return bt.apply(null,arguments);if(t(arguments.length<3,"observable expects zero, one or two arguments"),J(e))return e;var s=E(e,n.Recursive),r=s[0],a=s[1],c=r===n.Reference?o.Reference:ht(a);switch(c){case o.Array:case o.PlainObject:return $(a,r);case o.Reference:case o.ComplexObject:return new O(a,r);case o.ComplexFunction:throw new Error("[mobx.observable] To be able to make a function reactive it should not have arguments. If you need an observable reference to a function, use `observable(asReference(f))`");case o.ViewFunction:return i("Use `computed(expr)` instead of `observable(expr)`"),X(e,u)}t(!1,"Illegal State")}function ht(e){return null===e||void 0===e?o.Reference:"function"==typeof e?e.length?o.ComplexFunction:o.ViewFunction:Array.isArray(e)||e instanceof p?o.Array:"object"==typeof e?g(e)?o.PlainObject:o.ComplexObject:o.Reference}function pt(t,n,e,r){return"function"==typeof e?ot(t,n,e,r):st(t,n,e)}function st(e,t,n){return g(e)&&!h(e)?(i("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(te(e)).observe(t,n)):d(e).observe(t,n)}function ot(e,t,n,r){return g(e)&&!h(e)?(i("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),ce(e,{property:e[t]}),ot(e,t,n,r)):d(e,t).observe(n,r)}function x(e,n,t){function i(r){return n&&t.push([e,r]),r}if(void 0===n&&(n=!0),void 0===t&&(t=null),e instanceof Date||e instanceof RegExp)return e;if(n&&null===t&&(t=[]),n&&null!==e&&"object"==typeof e)for(var r=0,s=t.length;s>r;r++)if(t[r][0]===e)return t[r][1];if(!e)return e;if(Array.isArray(e)||e instanceof p){var o=i([]),a=e.map(function(e){return x(e,n,t)});o.length=a.length;for(var r=0,s=a.length;s>r;r++)o[r]=a[r];return o}if(e instanceof A){var u=i({});return e.forEach(function(e,r){return u[r]=x(e,n,t)}),u}if(J(e)&&e.$mobx instanceof O)return x(e(),n,t);if(e instanceof O)return x(e.get(),n,t);if("object"==typeof e){var o=i({});for(var c in e)o[c]=x(e[c],n,t);return o}return e}function ut(n,e,t){return void 0===e&&(e=!0),void 0===t&&(t=null),i("toJSON is deprecated. Use toJS instead"),x.apply(null,arguments)}function ye(e){return console.log(e),e}function ct(n,r){switch(arguments.length){case 0:if(n=e.derivationStack[e.derivationStack.length-1],!n)return ye("whyRun() can only be used if a derivation is active, or by passing an computed value / reaction explicitly. If you invoked whyRun from inside a computation; the computation is currently suspended but re-evaluating because somebody requested it's value.");break;case 2:n=v(n,r)}return n=v(n),n instanceof m?ye(n.whyRun()):n instanceof y?ye(n.whyRun()):void t(!1,"whyRun can only be used on reactions and computed values")}function q(e,t,n,r){return 1===arguments.length&&"function"==typeof e?ne(e.name||"<unnamed action>",e):2===arguments.length&&"function"==typeof t?ne(e,t):1===arguments.length&&"string"==typeof e?tt(e):tt(t).apply(null,arguments)}function tt(e){return function(n,r,t){return t&&"function"==typeof t.value?(t.value=ne(e,t.value),t.enumerable=!1,t):yt(e).apply(this,arguments)}}function et(e){return"function"==typeof e&&e.isMobxAction===!0}function lt(e,o,i){var n="string"==typeof e?e:e.name||"<unnamed action>",r="function"==typeof e?e:o,a="function"==typeof e?o:i;return t("function"==typeof r,"`runInAction` expects a function"),t(0===r.length,"`runInAction` expects a function without arguments"),t("string"==typeof n&&n.length>0,"actions should have valid names, got: '"+n+"'"),Ye(n,r,a,void 0)}function ne(e,n){t("function"==typeof n,"`action` can only be invoked on functions"),t("string"==typeof e&&e.length>0,"actions should have valid names, got: '"+e+"'");var r=function(){return Ye(e,n,this,arguments)};return r.isMobxAction=!0,r}function Ye(h,p,o,n){var u=e.derivationStack;t(!(u[u.length-1]instanceof m),"Computed values or transformers should not invoke actions or trigger other side effects");var l,a=r();if(a){l=Date.now();var f=[];if(n)for(var i=0,d=n.length;d>i;i++)f.push(n[i]);s({type:"action",name:h,fn:p,target:o,arguments:f})}var v=k();rt(h,o,!1);var b=z(!0);try{return p.apply(o,n)}finally{N(b),xe(!1),j(v),a&&c({time:Date.now()-l})}}function ft(n){t(0===e.derivationStack.length,"It is not allowed to set `useStrict` when a derivation is running"),e.strictMode=n,e.allowStateChanges=!n}function Qe(e,t){var n=z(e),r=t();return N(n),r}function z(t){var n=e.allowStateChanges;return e.allowStateChanges=t,n}function N(t){e.allowStateChanges=t}function Be(e){t(e.isDirty,"atom not dirty"),e.isDirty=!1,re(e,!0)}function he(){return e.derivationStack.length>0}function de(){e.allowStateChanges||t(!1,e.strictMode?"It is not allowed to create or change state outside an `action` when MobX is in strict mode. Wrap the current method in `action` if this state change is intended":"It is not allowed to change the state when a computed value or transformer is being evaluated. Use 'autorun' to create reactive functions with side-effects.")}function mt(e){1===++e.dependencyStaleCount&&ke(e)}function Rt(e,n){if(t(e.dependencyStaleCount>0,"unexpected ready notification"),n&&(e.dependencyChangeCount+=1),0===--e.dependencyStaleCount)if(e.dependencyChangeCount>0){e.dependencyChangeCount=0;var r=e.onDependenciesReady();re(e,r)}else re(e,!1)}function Ge(t,i){var n=!0,a=t.observing;t.observing=[],e.derivationStack.push(t);var s=e.isTracking;e.isTracking=!0;try{var u=i.call(t);return n=!1,e.isTracking=s,Ct(t,a),u}finally{if(n){var o="[mobx] An uncaught exception occurred while calculating your computed value, autorun or transformer. Or inside the render() method of an observer based React component. These functions should never throw exceptions as MobX will not always be able to recover from them. "+("Please fix the error reported after this message or enable 'Pause on (caught) exceptions' in your debugger to find the root cause. In: '"+t.name+"'");r()&&R({type:"error",object:this,message:o}),console.warn(o),Y()}}}function Ct(n,s){e.derivationStack.length-=1;for(var o=qe(n.observing,s),r=o[0],i=o[1],t=0,a=r.length;a>t;t++){r[t];Ut(r[t],n)}for(var t=0,a=i.length;a>t;t++)ee(i[t],n)}function $e(e){var t=k(),n=e();return j(t),n}function k(){var t=e.isTracking;return e.isTracking=!1,t}function j(t){e.isTracking=t}function $t(){}function Y(){e.resetId++;var n=new We;for(var t in n)-1===_t.indexOf(t)&&(e[t]=n[t]);e.allowStateChanges=!e.strictMode}function Ut(e,r){var t=e.observers,n=t.length;t[n]=r,0===n&&e.onBecomeObserved()}function ee(t,r){var e=t.observers,n=e.indexOf(r);-1!==n&&e.splice(n,1),0===e.length&&t.onBecomeUnobserved()}function je(n){if(e.isTracking!==!1){var o=e.derivationStack,t=o[o.length-1].observing,r=t.length;t[r-1]!==n&&t[r-2]!==n&&(t[r]=n)}}function ke(e){var t=e.observers.slice();t.forEach(mt),e.staleObservers=e.staleObservers.concat(t)}function re(e,t){e.staleObservers.splice(0).forEach(function(e){return Rt(e,t)})}function oe(){if(!(e.isRunningReactions===!0||e.inTransaction>0)){e.isRunningReactions=!0;for(var t=e.pendingReactions,o=0;t.length>0;){if(++o===kt)throw new Error("Reaction doesn't converge to a stable state. Probably there is a cycle in the reactive function: "+t[0].toString());for(var r=t.splice(0),n=0,i=r.length;i>n;n++)r[n].runReaction()}e.isRunningReactions=!1}}function r(){return W}function R(r){if(!W)return!1;for(var n=e.spyListeners,t=0,o=n.length;o>t;t++)n[t](r)}function s(e){var t=it({},e,{spyReportStart:!0});R(t)}function c(e){R(e?it({},e,ze):ze)}function Oe(t){return e.spyListeners.push(t),W=e.spyListeners.length>0,U(function(){var n=e.spyListeners.indexOf(t);-1!==n&&e.spyListeners.splice(n,1),W=e.spyListeners.length>0})}function Xt(e){return i("trackTransitions is deprecated. Use mobx.spy instead"),"boolean"==typeof e&&(i("trackTransitions only takes a single callback function. If you are using the mobx-react-devtools, please update them first"),e=arguments[1]),e?Oe(e):(i("trackTransitions without callback has been deprecated and is a no-op now. If you are using the mobx-react-devtools, please update them first"),function(){})}function V(n,e,t){void 0===e&&(e=void 0),void 0===t&&(t=!0),rt(n.name||"anonymous transaction",e,t);var r=n.call(e);return xe(t),r}function rt(o,t,n){void 0===t&&(t=void 0),void 0===n&&(n=!0),e.inTransaction+=1,n&&r()&&s({type:"transaction",target:t,name:o})}function xe(t){if(void 0===t&&(t=!0),0===--e.inTransaction){for(var o=e.changedAtoms.splice(0),n=0,i=o.length;i>n;n++)Be(o[n]);oe()}t&&r()&&c()}function w(e){return e.interceptors&&e.interceptors.length>0}function G(t,n){var e=t.interceptors||(t.interceptors=[]);return e.push(n),U(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function _(o,e){for(var i=k(),r=o.interceptors,n=0,a=r.length;a>n;n++)if(e=r[n](e),t(!e||e.type,"Intercept handlers should return nothing or a change object"),!e)return null;return j(i),e}function b(e){return e.changeListeners&&e.changeListeners.length>0}function B(t,n){var e=t.changeListeners||(t.changeListeners=[]);return e.push(n),U(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function f(r,n){var o=k(),e=r.changeListeners;if(e){e=e.slice();for(var t=0,i=e.length;i>t;t++)Array.isArray(n)?e[t].apply(null,n):e[t](n);j(o)}}function fe(e){return new ve(e)}function le(e){return new K(e)}function _e(e){return new Z(e)}function Qt(e,t){return Le(e,t)}function E(e,t){return e instanceof ve?[n.Reference,e.value]:e instanceof K?[n.Structure,e.value]:e instanceof Z?[n.Flat,e.value]:[t,e]}function qt(e){return e===fe?n.Reference:e===le?n.Structure:e===_e?n.Flat:(t(void 0===e,"Cannot determine value mode from function. Please pass in one of these: mobx.asReference, mobx.asStructure or mobx.asFlat, got: "+e),n.Recursive)}function $(e,a,i){var r;if(J(e))return e;switch(a){case n.Reference:return e;case n.Flat:l(e,"Items inside 'asFlat' cannot have modifiers"),r=n.Reference;break;case n.Structure:l(e,"Items inside 'asStructure' cannot have modifiers"),r=n.Structure;break;case n.Recursive:o=E(e,n.Recursive),r=o[0],e=o[1];break;default:t(!1,"Illegal State")}return Array.isArray(e)?Ve(e,r,i):g(e)&&Object.isExtensible(e)?Ne(e,e,r,i):e;var o}function l(e,t){if(e instanceof ve||e instanceof K||e instanceof Z)throw new Error("[mobx] asStructure / asReference / asFlat cannot be used here. "+t)}function Jt(e){var t=Ie(e),n=Ce(e);Object.defineProperty(p.prototype,""+e,{enumerable:!1,configurable:!0,set:t,get:n})}function Ie(e){return function(t){var r=this.$mobx,o=r.values;if(l(t,"Modifiers cannot be used on array values. For non-reactive array values use makeReactive(asFlat(array))."),e<o.length){de();var i=o[e];if(w(r)){var a=_(r,{type:"update",object:r.array,index:e,newValue:t});if(!a)return;t=a.newValue}t=r.makeReactiveArrayItem(t);var s=r.mode===n.Structure?!T(i,t):i!==t;s&&(o[e]=t,r.notifyArrayChildUpdate(e,t,i))}else{if(e!==o.length)throw new Error("[mobx.array] Index out of bounds, "+e+" is larger than "+o.length);r.spliceWithArray(e,0,[t])}}}function Ce(e){return function(){var t=this.$mobx;return t&&e<t.values.length?(t.atom.reportObserved(),t.values[e]):void console.warn("[mobx.array] Attempt to read an array index ("+e+") that is out of bounds ("+t.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}}function Ee(t){for(var e=H;t>e;e++)Jt(e);H=t}function Ve(e,t,n){return new p(e,t,n)}function Ft(e){return i("fastArray is deprecated. Please use `observable(asFlat([]))`"),Ve(e,n.Flat,null)}function F(e){return e instanceof p}function Le(e,t){return new A(e,t)}function M(e){return e instanceof A}function Q(e,t,r){if(void 0===r&&(r=n.Recursive),h(e))return e.$mobx;g(e)||(t=e.constructor.name+"@"+a()),t||(t="ObservableObject@"+a());var o=new De(e,t,r);return Object.defineProperty(e,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:o}),o}function Lt(e,t,n){e.values[t]?e.target[t]=n:me(e,t,n,!0)}function me(t,n,e,a){a&&nt(t.target,n);var r,o=t.name+"."+n,i=!0;if("function"!=typeof e||0!==e.length||et(e))if(e instanceof K&&"function"==typeof e.value&&0===e.value.length)r=new m(e.value,t.target,!0,o);else{if(i=!1,w(t)){var s=_(t,{object:t.target,name:n,type:"add",newValue:e});if(!s)return;e=s.newValue}r=new O(e,t.mode,o,!1),e=r.value}else r=new m(e,t.target,!1,o);t.values[n]=r,a&&Object.defineProperty(t.target,n,i?jt(n):at(n)),i||Ot(t,t.target,n,e)}function at(e){var t=Pe[e];return t?t:Pe[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){Fe(this,e,t)}}}function jt(e){var t=Ae[e];return t?t:Ae[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:Te}}function Fe(o,i,e){var t=o.$mobx,a=t.values[i];if(w(t)){var n=_(t,{type:"update",object:o,name:i,newValue:e});if(!n)return;e=n.newValue}if(e=a.prepareNewValue(e),e!==P){var l=b(t),u=r(),n=f||b?{type:"update",object:o,oldValue:a.value,name:i,newValue:e}:null;u&&s(n),a.setNewValue(e),l&&f(t,n),u&&c()}}function Ot(t,i,a,u){var n=b(t),e=r(),o=n||e?{type:"add",object:i,name:a,newValue:u}:null;e&&s(o),n&&f(t,o),e&&c()}function h(e){return"object"==typeof e&&null!==e?(D(e),e.$mobx instanceof De):!1}function v(e,n){if("object"==typeof e&&null!==e){if(F(e))return t(void 0===n,"It is not possible to get index atoms from arrays"),e.$mobx.atom;if(M(e)){if(void 0===n)return v(e._keys);var r=e._data[n]||e._hasMap[n];return t(!!r,"the entry '"+n+"' does not exist in the observable map '"+pe(e)+"'"),r}if(D(e),h(e)){t(!!n,"please specify a property");var o=e.$mobx.values[n];return t(!!o,"no observable property '"+n+"' found on the observable object '"+pe(e)+"'"),o}if(e instanceof S||e instanceof m||e instanceof y)return e}else if("function"==typeof e&&e.$mobx instanceof y)return e.$mobx;t(!1,"Cannot obtain atom from "+e)}function d(e,n){return t(e,"Expection some object"),void 0!==n?d(v(e,n)):e instanceof S||e instanceof m||e instanceof y?e:M(e)?e:(D(e),e.$mobx?e.$mobx:void t(!1,"Cannot obtain administration from "+e))}function pe(e,t){var n;return n=void 0!==t?v(e,t):h(e)||M(e)?d(e):v(e),n.name}function se(e,r,o,i,a){function n(s,n,u,l){if(t(a||He(arguments),"This function is a decorator, but it wasn't invoked like a decorator"),u){s.hasOwnProperty("__mobxLazyInitializers")||Object.defineProperty(s,"__mobxLazyInitializers",{writable:!1,configurable:!1,enumerable:!1,value:s.__mobxLazyInitializers&&s.__mobxLazyInitializers.slice()||[]});var f=u.value,p=u.initializer;return s.__mobxLazyInitializers.push(function(t){e(t,n,p?p.call(t):f,l,u)}),{enumerable:i,configurable:!0,get:function(){return this.__mobxDidRunLazyInitializers!==!0&&D(this),r.call(this,n)},set:function(e){this.__mobxDidRunLazyInitializers!==!0&&D(this),o.call(this,n,e)}}}var c={enumerable:i,configurable:!0,get:function(){return this.__mobxInitializedProps&&this.__mobxInitializedProps[n]===!0||Xe(this,n,void 0,e,l,c),r.call(this,n)},set:function(t){this.__mobxInitializedProps&&this.__mobxInitializedProps[n]===!0?o.call(this,n,t):Xe(this,n,t,e,l,c)}};return arguments.length<3&&Object.defineProperty(s,n,c),c}return a?function(){if(He(arguments))return n.apply(null,arguments);var e=arguments;return function(t,r,o){return n(t,r,o,e)}}:n}function Xe(e,t,n,r,o,i){e.hasOwnProperty("__mobxInitializedProps")||Object.defineProperty(e,"__mobxInitializedProps",{enumerable:!1,configurable:!1,writable:!0,value:{}}),e.__mobxInitializedProps[t]=!0,r(e,t,n,o,i)}function D(e){e.__mobxDidRunLazyInitializers!==!0&&e.__mobxLazyInitializers&&(Object.defineProperty(e,"__mobxDidRunLazyInitializers",{enumerable:!1,configurable:!1,writable:!1,value:!0}),e.__mobxDidRunLazyInitializers&&e.__mobxLazyInitializers.forEach(function(t){return t(e)}))}function He(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]}function a(){return++e.mobxGuid}function t(t,n,e){if(!t)throw new Error("[mobx] Invariant failed: "+n+(e?" in '"+e+"'":""))}function i(e){-1===Re.indexOf(e)&&(Re.push(e),console.error("[mobx] Deprecated: "+e))}function U(t){var e=!1;return function(){return e?void 0:(e=!0,t.apply(this,arguments))}}function L(t){var e=[];return t.forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),e}function be(t,e,n){if(void 0===e&&(e=100),void 0===n&&(n=" - "),!t)return"";var r=t.slice(0,e);return""+r.join(n)+(t.length>e?" (... and "+(t.length-e)+"more)":"")}function g(e){return null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype}function it(){for(var r=arguments[0],e=1,o=arguments.length;o>e;e++){var t=arguments[e];for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])}return r}function ue(n,e,t){return n?!T(e,t):e!==t}function At(n,t){for(var e=0;e<t.length;e++)Object.defineProperty(n,t[e],{configurable:!0,writable:!0,enumerable:!1,value:n[t[e]]})}function ge(t,n){var e=Object.getOwnPropertyDescriptor(t,n);return!e||e.configurable!==!1&&e.writable!==!1}function nt(n,e){t(ge(n,e),"Cannot make property '"+e+"' observable, it is not configurable and writable in the target object")}function Ze(t){var e=[];for(var n in t)e.push(n);return e}function T(e,t){if(null===e&&null===t)return!0;if(void 0===e&&void 0===t)return!0;var o=Array.isArray(e)||F(e);if(o!==(Array.isArray(t)||F(t)))return!1;if(o){if(e.length!==t.length)return!1;for(var n=e.length-1;n>=0;n--)if(!T(e[n],t[n]))return!1;return!0}if("object"==typeof e&&"object"==typeof t){if(null===e||null===t)return!1;if(Ze(e).length!==Ze(t).length)return!1;for(var r in e){if(!(r in t))return!1;if(!T(e[r],t[r]))return!1}return!0}return e===t}function qe(n,r){if(!r||!r.length)return[n,[]];if(!n||!n.length)return[[],r];for(var a=[],s=[],e=0,o=0,f=n.length,c=!1,t=0,i=0,l=r.length,u=!1,p=!1;!p&&!c;){if(!u){if(f>e&&l>t&&n[e]===r[t]){if(e++,t++,e===f&&t===l)return[a,s];continue}o=e,i=t,u=!0}i+=1,o+=1,i>=l&&(p=!0),o>=f&&(c=!0),c||n[o]!==r[t]?p||r[i]!==n[e]||(s=s.concat(r.slice(t,i)),t=i+1,e++,u=!1):(a=a.concat(n.slice(e,o)),e=o+1,t++,u=!1)}return[a.concat(n.slice(e)),s.concat(r.slice(t))]}var ie=this&&this.__extends||function(t,e){function r(){this.constructor=t}for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};$t(),exports.extras={allowStateChanges:Qe,getAtom:v,getDebugName:pe,getDependencyTree:It,getObserverTree:St,isComputingDerivation:he,isSpyEnabled:r,resetGlobalState:Y,spyReport:R,spyReportEnd:c,spyReportStart:s,trackTransitions:Xt},exports._={getAdministration:d,quickDiff:qe,resetGlobalState:Y},exports.autorun=ae,exports.when=Se,exports.autorunUntil=Bt,exports.autorunAsync=Wt,exports.reaction=Gt;var dt=se(function(i,a,c,e,s){var r=s.get;t("function"==typeof r,"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'");var o=!1;e&&1===e.length&&e[0].asStructure===!0&&(o=!0);var u=Q(i,void 0,n.Recursive);me(u,a,o?le(r):r,!1)},function(e){return this.$mobx.values[e].get()},Te,!1,!0);exports.computed=X,exports.createTransformer=Dt,exports.expr=Et,exports.extendObservable=ce,exports.intercept=xt,exports.isObservable=J;var vt=se(function(t,r,e){var o=z(!0);"function"==typeof e&&(e=fe(e));var i=Q(t,void 0,n.Recursive);me(i,r,e,!0),N(o)},function(e){return this.$mobx.values[e].get()},function(e,t){Fe(this,e,t)},!0,!1);exports.observable=te;var o;!function(e){e[e.Reference=0]="Reference",e[e.PlainObject=1]="PlainObject",e[e.ComplexObject=2]="ComplexObject",e[e.Array=3]="Array",e[e.ViewFunction=4]="ViewFunction",e[e.ComplexFunction=5]="ComplexFunction"}(o||(o={})),exports.observe=pt,exports.toJS=x,exports.toJSON=ut,exports.whyRun=ct;var yt=se(function(r,t,n,e,a){var o=e&&1===e.length?e[0]:n.name||t||"<unnamed action>",i=q(o,n);Object.defineProperty(r,t,{configurable:!0,enumerable:!1,writable:!1,value:i})},function(e){return this[e]},function(){t(!1,"It is not allowed to assign new values to @action fields")},!1,!0);exports.action=q,exports.isAction=et,exports.runInAction=lt,exports.useStrict=ft;var S=function(){function n(e,t,n){void 0===e&&(e="Atom@"+a()),void 0===t&&(t=we),void 0===n&&(n=we),this.name=e,this.onBecomeObserved=t,this.onBecomeUnobserved=n,this.isDirty=!1,this.staleObservers=[],this.observers=[]}return n.prototype.reportObserved=function(){je(this)},n.prototype.reportChanged=function(){this.isDirty||(this.reportStale(),this.reportReady())},n.prototype.reportStale=function(){this.isDirty||(this.isDirty=!0,ke(this))},n.prototype.reportReady=function(){t(this.isDirty,"atom not dirty"),e.inTransaction>0?e.changedAtoms.push(this):(Be(this),oe())},n.prototype.toString=function(){return this.name},n}();exports.Atom=S;var m=function(){function n(e,t,n,r){this.derivation=e,this.scope=t,this.compareStructural=n,this.isLazy=!0,this.isComputing=!1,this.staleObservers=[],this.observers=[],this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.value=void 0,this.name=r||"ComputedValue@"+a()}return n.prototype.peek=function(){this.isComputing=!0;var e=z(!1),t=this.derivation.call(this.scope);return N(e),this.isComputing=!1,t},n.prototype.onBecomeObserved=function(){},n.prototype.onBecomeUnobserved=function(){for(var e=0,t=this.observing.length;t>e;e++)ee(this.observing[e],this);this.observing=[],this.isLazy=!0,this.value=void 0},n.prototype.onDependenciesReady=function(){var e=this.trackAndCompute();return e},n.prototype.get=function(){if(t(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),je(this),this.dependencyStaleCount>0)return this.peek();if(this.isLazy){if(!he())return this.peek();this.isLazy=!1,this.trackAndCompute()}return this.value},n.prototype.set=function(e){throw new Error("[ComputedValue '"+name+"'] It is not possible to assign a new value to a computed value.")},n.prototype.trackAndCompute=function(){r()&&R({object:this,type:"compute",fn:this.derivation,target:this.scope});var e=this.value,t=this.value=Ge(this,this.peek);return ue(this.compareStructural,t,e)},n.prototype.observe=function(n,r){var o=this,e=!0,t=void 0;return ae(function(){var i=o.get();if(!e||r){var a=k();n(i,t),j(a)}e=!1,t=i})},n.prototype.toJSON=function(){return this.get()},n.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},n.prototype.whyRun=function(){var n=e.derivationStack.length>0,i=L(this.observing).map(function(e){return e.name}),r=L(this.observers).map(function(e){return e.name}),t=this.isComputing?n?this.observers.length>0?u.INVALIDATED:u.REQUIRED:u.PEEK:u.NOT_RUNNING;if(t===u.REQUIRED){var o=e.derivationStack[e.derivationStack.length-2];o&&r.push(o.name)}return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+wt[t]+" "+(t===u.NOT_RUNNING&&this.dependencyStaleCount>0?"(a next run is scheduled)":"")+"\n"+(this.isLazy?" * This computation is suspended (not in use by any reaction) and won't run automatically.\n Didn't expect this computation to be suspended at this point?\n 1. Make sure this computation is used by a reaction (reaction, autorun, observer).\n 2. Check whether you are using this computation synchronously (in the same stack as they reaction that needs it).\n":" * This computation will re-run if any of the following observables changes:\n "+be(i)+"\n "+(this.isComputing&&n?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n * If the outcome of this computation changes, the following observers will be re-run:\n "+be(r)+"\n")},n}(),u;!function(e){e[e.PEEK=0]="PEEK",e[e.INVALIDATED=1]="INVALIDATED",e[e.REQUIRED=2]="REQUIRED",e[e.NOT_RUNNING=3]="NOT_RUNNING"}(u||(u={}));var wt=(I={},I[u.PEEK]="[peek] The value of this computed value was requested outside an reaction",I[u.INVALIDATED]="[invalidated] Some observables used by this computation did change",I[u.REQUIRED]="[started] This computation is required by another computed value / reaction",I[u.NOT_RUNNING]="[idle] This compution is currently not running",I);exports.untracked=$e;var _t=["mobxGuid","resetId","spyListeners","strictMode"],We=function(){function e(){this.version=2,this.derivationStack=[],this.mobxGuid=0,this.inTransaction=0,this.isTracking=!1,this.isRunningReactions=!1,this.changedAtoms=[],this.pendingReactions=[],this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[]}return e}(),e=function(){var e=new We;if(global.__mobservableTrackingStack||global.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(global.__mobxGlobal&&global.__mobxGlobal.version!==e.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");return global.__mobxGlobal?global.__mobxGlobal:global.__mobxGlobal=e}(),y=function(){function t(e,t){void 0===e&&(e="Reaction@"+a()),this.name=e,this.onInvalidate=t,this.staleObservers=C,this.observers=C,this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return t.prototype.onBecomeObserved=function(){},t.prototype.onBecomeUnobserved=function(){},t.prototype.onDependenciesReady=function(){return this.schedule(),!1},t.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,e.pendingReactions.push(this),oe())},t.prototype.isScheduled=function(){return this.dependencyStaleCount>0||this._isScheduled},t.prototype.runReaction=function(){this.isDisposed||(this._isScheduled=!1,this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&r()&&R({object:this,type:"scheduled-reaction"}))},t.prototype.track=function(e){var t,n=r();n&&(t=Date.now(),s({object:this,type:"reaction",fn:e})),this._isRunning=!0,Ge(this,e),this._isRunning=!1,this._isTrackPending=!1,n&&c({time:Date.now()-t})},t.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var t=this.observing.splice(0),e=0,n=t.length;n>e;e++)ee(t[e],this)}},t.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e},t.prototype.toString=function(){return"Reaction["+this.name+"]"},t.prototype.whyRun=function(){var e=L(this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+be(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n"},t}();exports.Reaction=y;var kt=100,W=!1,ze={spyReportEnd:!0};exports.spy=Oe,exports.transaction=V;var n;!function(e){e[e.Recursive=0]="Recursive",e[e.Reference=1]="Reference",e[e.Structure=2]="Structure",e[e.Flat=3]="Flat"}(n||(n={})),exports.asReference=fe,exports.asStructure=le,exports.asFlat=_e;var ve=function(){function e(e){this.value=e,l(e,"Modifiers are not allowed to be nested");
}return e}(),K=function(){function e(e){this.value=e,l(e,"Modifiers are not allowed to be nested")}return e}(),Z=function(){function e(e){this.value=e,l(e,"Modifiers are not allowed to be nested")}return e}();exports.asMap=Qt;var Pt=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),H=0,Me=function(){function e(){}return e}();Me.prototype=[];var Tt=function(){function e(e,t,n,r){this.mode=t,this.array=n,this.owned=r,this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new S(e||"ObservableArray@"+a())}return e.prototype.makeReactiveArrayItem=function(e){return l(e,"Array values cannot have modifiers"),this.mode===n.Flat||this.mode===n.Reference?e:$(e,this.mode,this.atom.name+"[..]")},e.prototype.intercept=function(e){return G(this,e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),B(this,t)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||0>e)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;e!==t&&(e>t?this.spliceWithArray(t,0,new Array(e-t)):this.spliceWithArray(e,t-e))},e.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e+1>H&&Ee(t+e+1)},e.prototype.spliceWithArray=function(e,n,t){de();var r=this.values.length;if(void 0===e?e=0:e>r?e=r:0>e&&(e=Math.max(0,r+e)),n=1===arguments.length?r-e:void 0===n||null===n?0:Math.max(0,Math.min(n,r-e)),void 0===t&&(t=[]),w(this)){var o=_(this,{object:this.array,type:"splice",index:e,removedCount:n,added:t});if(!o)return C;n=o.removedCount,t=o.added}t=t.map(this.makeReactiveArrayItem,this);var s=t.length-n;this.updateArrayLength(r,s);var i=(a=this.values).splice.apply(a,[e,n].concat(t));return(0!==n||0!==t.length)&&this.notifyArraySplice(e,t,i),i;var a},e.prototype.notifyArrayChildUpdate=function(o,i,a){var e=!this.owned&&r(),t=b(this),n=t||e?{object:this.array,type:"update",index:o,newValue:i,oldValue:a}:null;e&&s(n),this.atom.reportChanged(),t&&f(this,n),e&&c()},e.prototype.notifyArraySplice=function(a,t,n){var e=!this.owned&&r(),o=b(this),i=o||e?{object:this.array,type:"splice",index:a,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;e&&s(i),this.atom.reportChanged(),o&&f(this,i),e&&c()},e}(),p=function(t){function e(n,o,i,r){void 0===r&&(r=!1),t.call(this);var e=new Tt(i,o,this,r);Object.defineProperty(this,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:e}),n&&n.length?(e.updateArrayLength(0,n.length),e.values=n.map(e.makeReactiveArrayItem,e),e.notifyArraySplice(0,e.values.slice(),C)):e.values=[],Pt&&0===n.length&&Object.defineProperty(e.array,"0",Mt)}return ie(e,t),e.prototype.intercept=function(e){return this.$mobx.intercept(e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.replace=function(e){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,e)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.values},e.prototype.find=function(r,o,t){void 0===t&&(t=0),this.$mobx.atom.reportObserved();for(var n=this.$mobx.values,i=n.length,e=t;i>e;e++)if(r.call(o,n[e],e,this))return n[e]},e.prototype.splice=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,n)}return this.$mobx.spliceWithArray(t,n,r)},e.prototype.push=function(){for(var n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];var t=this.$mobx;return t.spliceWithArray(t.values.length,0,n),t.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){this.$mobx.atom.reportObserved();var e=this.slice();return e.reverse.apply(e,arguments)},e.prototype.sort=function(t){this.$mobx.atom.reportObserved();var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.values.indexOf(t);return e>-1?(this.splice(e,1),!0):!1},e.prototype.toString=function(){return"[mobx.array] "+Array.prototype.toString.apply(this.$mobx.values,arguments)},e.prototype.toLocaleString=function(){return"[mobx.array] "+Array.prototype.toLocaleString.apply(this.$mobx.values,arguments)},e}(Me);At(p.prototype,["constructor","observe","clear","replace","toJSON","peek","find","splice","push","pop","shift","unshift","reverse","sort","remove","toString","toLocaleString"]),Object.defineProperty(p.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(e){this.$mobx.setArrayLength(e)}}),["concat","every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"].forEach(function(e){var t=Array.prototype[e];Object.defineProperty(p.prototype,e,{configurable:!1,writable:!0,enumerable:!1,value:function(){return this.$mobx.atom.reportObserved(),t.apply(this.$mobx.values,arguments)}})});var Mt={enumerable:!1,configurable:!0,set:Ie(0),get:Ce(0)};Ee(1e3),exports.fastArray=Ft,exports.isObservableArray=F;var Nt={},A=function(){function e(e,r){var t=this;this.$mobx=Nt,this._data={},this._hasMap={},this.name="ObservableMap@"+a(),this._keys=new p(null,n.Reference,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this._valueMode=qt(r),this._valueMode===n.Flat&&(this._valueMode=n.Reference),Qe(!0,function(){g(e)?t.merge(e):Array.isArray(e)&&e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)})})}return e.prototype._has=function(e){return"undefined"!=typeof this._data[e]},e.prototype.has=function(e){return this.isValidKey(e)?(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get()):!1},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(l(t,"[mobx.map.set] Expected unwrapped value to be inserted to key '"+e+"'. If you need to use modifiers pass them as second argument to the constructor"),w(this)){var r=_(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return;t=r.newValue}n?this._updateValue(e,t):this._addValue(e,t)},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,w(this)){var n=_(this,{type:"delete",object:this,name:e});if(!n)return}if(this._has(e)){var o=r(),i=b(this),n=i||o?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;o&&s(n),V(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1);var n=t._data[e];n.setNewValue(void 0),t._data[e]=void 0},void 0,!1),i&&f(this,n),o&&c()}},e.prototype._updateHasMapEntry=function(t,r){var e=this._hasMap[t];return e?e.setNewValue(r):e=this._hasMap[t]=new O(r,n.Reference,this.name+"."+t+"?",!1),e},e.prototype._updateValue=function(o,e){var t=this._data[o];if(e=t.prepareNewValue(e),e!==P){var n=r(),i=b(this),a=i||n?{type:"update",object:this,oldValue:t.value,name:o,newValue:e}:null;n&&s(a),t.setNewValue(e),i&&f(this,a),n&&c()}},e.prototype._addValue=function(e,n){var t=this;V(function(){var r=t._data[e]=new O(n,t._valueMode,t.name+"."+e,!1);n=r.value,t._updateHasMapEntry(e,!0),t._keys.push(e)},void 0,!1);var o=r(),i=b(this),a=i||o?{type:"add",object:this,name:e,newValue:n}:null;o&&s(a),i&&f(this,a),o&&c()},e.prototype.get=function(e){return e=""+e,this.has(e)?this._data[e].get():void 0},e.prototype.keys=function(){return this._keys.slice()},e.prototype.values=function(){return this.keys().map(this.get,this)},e.prototype.entries=function(){var e=this;return this.keys().map(function(t){return[t,e.get(t)]})},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r)})},e.prototype.merge=function(t){var n=this;return V(function(){t instanceof e?t.keys().forEach(function(e){return n.set(e,t.get(e))}):Object.keys(t).forEach(function(e){return n.set(e,t[e])})},void 0,!1),this},e.prototype.clear=function(){var e=this;V(function(){$e(function(){e.keys().forEach(e.delete,e)})},void 0,!1)},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var t=this,e={};return this.keys().forEach(function(n){return e[n]=t.get(n)}),e},e.prototype.toJs=function(){return i("toJs is deprecated, use toJS instead"),this.toJS()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null===e||void 0===e?!1:"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e?!1:!0},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"'")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,n){return t(n!==!0,"`observe` doesn't support the fire immediately property for observable maps."),B(this,e)},e.prototype.intercept=function(e){return G(this,e)},e}();exports.ObservableMap=A,exports.map=Le,exports.isObservableMap=M;var De=function(){function e(e,t,n){this.target=e,this.name=t,this.mode=n,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,n){return t(n!==!0,"`observe` doesn't support the fire immediately property for observable objects."),B(this,e)},e.prototype.intercept=function(e){return G(this,e)},e}(),Pe={},Ae={};exports.isObservableObject=h;var P={},O=function(t){function e(s,u,e,o){void 0===e&&(e="ObservableValue@"+a()),void 0===o&&(o=!0),t.call(this,e),this.mode=u,this.hasUnreportedChange=!1,this.value=void 0;var i=E(s,n.Recursive),c=i[0],l=i[1];this.mode===n.Recursive&&(this.mode=c),this.value=$(l,this.mode,this.name),o&&r()&&R({type:"create",object:this,newValue:this.value})}return ie(e,t),e.prototype.set=function(e){var n=this.value;if(e=this.prepareNewValue(e),e!==P){var t=r();t&&s({type:"update",object:this,newValue:e,oldValue:n}),this.setNewValue(e),t&&c()}},e.prototype.prepareNewValue=function(e){if(l(e,"Modifiers cannot be used on non-initial values."),de(),w(this)){var t=_(this,{object:this,type:"update",newValue:e});if(!t)return P;e=t.newValue}var r=ue(this.mode===n.Structure,this.value,e);return r?$(e,this.mode,this.name):P},e.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),b(this)&&f(this,[e,t])},e.prototype.get=function(){return this.reportObserved(),this.value},e.prototype.intercept=function(e){return G(this,e)},e.prototype.observe=function(e,t){return t&&e(this.value,void 0),B(this,e)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e}(S),Kt=function(){function e(){this.listeners=[],i("extras.SimpleEventEmitter is deprecated and will be removed in the next major release")}return e.prototype.emit=function(){for(var t=this.listeners.slice(),e=0,n=t.length;n>e;e++)t[e].apply(null,arguments)},e.prototype.on=function(e){var t=this;return this.listeners.push(e),U(function(){var n=t.listeners.indexOf(e);-1!==n&&t.listeners.splice(n,1)})},e.prototype.once=function(t){var e=this.on(function(){e(),t.apply(this,arguments)});return e},e}();exports.SimpleEventEmitter=Kt;var C=[];Object.freeze(C);var Re=[],we=function(){},I;
//# sourceMappingURL=lib/mobx.min.js.map
/** MobX - (c) Michel Weststrate 2015, 2016 - MIT Licensed */
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.mobx=e()}}(function(){return function a(e,t,n){function r(i,l){if(!t[i]){if(!e[i]){var u="function"==typeof require&&require;if(!l&&u)return u(i,!0);if(o)return o(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var s=t[i]={exports:{}};e[i][0].call(s.exports,function(t){var n=e[i][1][t];return r(n?n:t)},s,s.exports,a,e,t,n)}return t[i].exports}for(var o="function"==typeof require&&require,i=0;i<n.length;i++)r(n[i]);return r}({1:[function(t,n,e){(function(x){"use strict";function ie(t,o,u){var i,e,r;"string"==typeof t?(i=t,e=o,r=u):"function"==typeof t&&(i=t.name||"Autorun@"+s(),e=t,r=o),p(e,"autorun methods cannot have modifiers"),n("function"==typeof e,"autorun expects a function"),n(0===e.length,"autorun expects a function without arguments"),r&&(e=e.bind(r));var a=new d(i,function(){this.track(e)});return a.schedule(),a.getDisposer()}function Ie(e,a,u,l){var r,i,o,t;"string"==typeof e?(r=e,i=a,o=u,t=l):"function"==typeof e&&(r="When@"+s(),i=e,o=a,t=u);var c=!1,n=ie(r,function(){if(i.call(t)){n?n():c=!0;var e=E();o.call(t),C(e)}});return c&&n(),n}function Bt(e,t,n){return a("`autorunUntil` is deprecated, please use `when`."),Ie.apply(null,arguments)}function Wt(e,u,c,l){var o,t,n,r;"string"==typeof e?(o=e,t=u,n=c,r=l):"function"==typeof e&&(o=e.name||"AutorunAsync@"+s(),t=e,n=u,r=c),void 0===n&&(n=1),r&&(t=t.bind(r));var a=!1,i=new d(o,function(){a||(a=!0,setTimeout(function(){a=!1,i.isDisposed||i.track(t)},n))});return i.schedule(),i.getDisposer()}function Gt(o,p,w,g,m,_){function y(){if(!l.isDisposed){var e=!1;l.track(function(){var t=v();e=me(x,a,t),a=t}),u&&n&&t(a),u||e!==!0||t(a),u&&(u=!1)}}var c,f,t,n,e,i;"string"==typeof o?(c=o,f=p,t=w,n=g,e=m,i=_):(c=o.name||p.name||"Reaction@"+s(),f=o,t=p,n=w,e=g,i=m),void 0===n&&(n=!1),void 0===e&&(e=0);var b=L(f,r.Reference),O=b[0],v=b[1],x=O===r.Structure;i&&(v=v.bind(i),t=he(c,t.bind(i)));var u=!0,h=!1,a=void 0,l=new d(c,function(){1>e?y():h||(h=!0,setTimeout(function(){h=!1,y()},e))});return l.schedule(),l.getDisposer()}function le(e,t,r,i){return arguments.length<3&&"function"==typeof e?Mt(e,t):(n(!r||!r.set,"@observable properties cannot have a setter: "+t),bt.apply(null,arguments))}function Mt(n,i){var e=L(n,r.Recursive),o=e[0],t=e[1];return new h(t,i,o===r.Structure,t.name)}function Se(){throw new Error("[ComputedValue] It is not allowed to assign new values to computed properties.")}function jt(e,i){n("function"==typeof e&&1===e.length,"createTransformer expects a function that accepts one argument");var r={},o=t.resetId,a=function(t){function n(n,r){t.call(this,function(){return e(r)},null,!1,"Transformer-"+e.name+"-"+n),this.sourceIdentifier=n,this.sourceObject=r}return ue(n,t),n.prototype.onBecomeUnobserved=function(){var e=this.value;t.prototype.onBecomeUnobserved.call(this),delete r[this.sourceIdentifier],i&&i(e,this.sourceObject)},n}(h);return function(i){o!==t.resetId&&(r={},o=t.resetId);var n=kt(i),e=r[n];return e?e.get():(e=r[n]=new a(n,i),e.get())}}function kt(e){if(null===e||"object"!=typeof e)throw new Error("[mobx] transform expected some kind of object, got: "+e);var t=e.$transformId;return void 0===t&&(t=s(),Object.defineProperty(e,"$transformId",{configurable:!0,writable:!0,enumerable:!1,value:t})),t}function _t(e,t){return Z()||console.warn("[mobx.expr] 'expr' should only be used inside other reactive functions."),le(e,t).get()}function se(e){for(var i=[],t=1;t<arguments.length;t++)i[t-1]=arguments[t];return n(arguments.length>=2,"extendObservable expected 2 or more arguments"),n("object"==typeof e,"extendObservable expects an object as first argument"),n(!(e instanceof A),"extendObservable should not be used on maps, use map.merge instead"),i.forEach(function(t){n("object"==typeof t,"all arguments of extendObservable should be objects"),Ve(e,t,r.Recursive,null)}),e}function Ve(e,t,r,i){var o=fe(e,i,r);for(var n in t)if(t.hasOwnProperty(n)){if(e===t&&!Be(e,n))continue;dt(o,n,t[n])}return e}function mt(e,t){return it(b(e,t))}function it(e){var t={name:e.name};return e.observing&&e.observing.length&&(t.dependencies=D(e.observing).map(it)),t}function st(e,t){return nt(b(e,t))}function nt(e){var t={name:e.name};return e.observers&&e.observers.length&&(t.observers=D(e.observers).map(nt)),t}function At(e,t,n){return"function"==typeof n?Ye(e,t,n):ut(e,t)}function ut(e,t){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),v(de(e)).intercept(t)):v(e).intercept(t)}function Ye(e,t,n){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),se(e,{property:e[t]}),Ye(e,t,n)):v(e,t).intercept(n)}function Q(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(e instanceof A||e instanceof f)throw new Error("[mobx.isObservable] isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.");if(y(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return!!e.$mobx||e instanceof j||e instanceof d||e instanceof h}function lt(r,e,t){return n(arguments.length>=2&&arguments.length<=3,"Illegal decorator config",e),We(r,e),n(!t||!t.get,"@observable can not be used on getters, use @computed instead"),yt.apply(null,arguments)}function de(e,u){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return lt.apply(null,arguments);if(n(arguments.length<3,"observable expects zero, one or two arguments"),Q(e))return e;var s=L(e,r.Recursive),t=s[0],i=s[1],c=t===r.Reference?o.Reference:It(i);switch(c){case o.Array:case o.PlainObject:return M(i,t);case o.Reference:case o.ComplexObject:return new I(i,t);case o.ComplexFunction:throw new Error("[mobx.observable] To be able to make a function reactive it should not have arguments. If you need an observable reference to a function, use `observable(asReference(f))`");case o.ViewFunction:return a("Use `computed(expr)` instead of `observable(expr)`"),le(e,u)}n(!1,"Illegal State")}function It(e){return null===e||void 0===e?o.Reference:"function"==typeof e?e.length?o.ComplexFunction:o.ViewFunction:Array.isArray(e)||e instanceof f?o.Array:"object"==typeof e?w(e)?o.PlainObject:o.ComplexObject:o.Reference}function Vt(t,n,e,r){return"function"==typeof e?et(t,n,e,r):Dt(t,n,e)}function Dt(e,t,n){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),v(de(e)).observe(t,n)):v(e).observe(t,n)}function et(e,t,n,r){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),se(e,{property:e[t]}),et(e,t,n,r)):v(e,t).observe(n,r)}function R(e,n,t){function o(r){return n&&t.push([e,r]),r}if(void 0===n&&(n=!0),void 0===t&&(t=null),n&&null===t&&(t=[]),n&&null!==e&&"object"==typeof e)for(var r=0,s=t.length;s>r;r++)if(t[r][0]===e)return t[r][1];if(!e)return e;if(Array.isArray(e)||e instanceof f){var i=o([]),a=e.map(function(e){return R(e,n,t)});i.length=a.length;for(var r=0,s=a.length;s>r;r++)i[r]=a[r];return i}if(e instanceof A){var u=o({});return e.forEach(function(e,r){return u[r]=R(e,n,t)}),u}if(Q(e)&&e.$mobx instanceof I)return R(e(),n,t);if(e instanceof I)return R(e.get(),n,t);if("object"==typeof e){var i=o({});for(var c in e)i[c]=R(e[c],n,t);return i}return e}function Lt(n,e,t){return void 0===e&&(e=!0),void 0===t&&(t=null),a("toJSON is deprecated. Use toJS instead"),R.apply(null,arguments)}function ge(e){return console.log(e),e}function Tt(e,r){switch(arguments.length){case 0:if(e=t.derivationStack[t.derivationStack.length-1],!e)return ge("whyRun() can only be used if a derivation is active, or by passing an computed value / reaction explicitly. If you invoked whyRun from inside a computation; the computation is currently suspended but re-evaluating because somebody requested it's value.");break;case 2:e=b(e,r)}return e=b(e),e instanceof h?ge(e.whyRun()):e instanceof d?ge(e.whyRun()):void n(!1,"whyRun can only be used on reactions and computed values")}function he(e,t,n,r){return 1===arguments.length&&"function"==typeof e?He(e.name||"<unnamed action>",e):2===arguments.length&&"function"==typeof t?He(e,t):gt.apply(null,arguments)}function Pe(e){return"function"==typeof e&&e.isMobxAction===!0}function zt(e,i,o){var t="string"==typeof e?e:e.name||"<unnamed action>",r="function"==typeof e?e:i,a="function"==typeof e?i:o;return n("function"==typeof r,"`runInAction` expects a function"),n(0===r.length,"`runInAction` expects a function without arguments"),n("string"==typeof t&&t.length>0,"actions should have valid names, got: '"+t+"'"),Qe(t,r,a,void 0)}function He(e,t){n("function"==typeof t,"`action` can only be invoked on functions"),n("string"==typeof e&&e.length>0,"actions should have valid names, got: '"+e+"'");var r=function(){return Qe(e,t,this,arguments)};return r.isMobxAction=!0,r}function Qe(d,f,r,e){var s=t.derivationStack;n(!(s[s.length-1]instanceof h),"Computed values or transformers should not invoke actions or trigger other side effects");var c,a=i();if(a){c=Date.now();var p=[];if(e)for(var o=0,v=e.length;v>o;o++)p.push(e[o]);u({type:"action",name:d,fn:f,target:r,arguments:p})}var b=E();Ke(d,r,!1);var y=J(!0);try{return f.apply(r,e)}finally{G(y),qe(!1),C(b),a&&l({time:Date.now()-c})}}function Ht(e){n(0===t.derivationStack.length,"It is not allowed to set `useStrict` when a derivation is running"),t.strictMode=e,t.allowStateChanges=!e}function Ge(e,t){var n=J(e),r=t();return G(n),r}function J(e){var n=t.allowStateChanges;return t.allowStateChanges=e,n}function G(e){t.allowStateChanges=e}function _e(e){n(e.isDirty,"atom not dirty"),e.isDirty=!1,ae(e,!0)}function Z(){return t.derivationStack.length>0}function ee(){t.allowStateChanges||n(!1,t.strictMode?"It is not allowed to create or change state outside an `action` when MobX is in strict mode. Wrap the current method in `action` if this state change is intended":"It is not allowed to change the state when a computed value or transformer is being evaluated. Use 'autorun' to create reactive functions with side-effects.")}function Qt(e){1===++e.dependencyStaleCount&&ke(e)}function qt(e,t){if(n(e.dependencyStaleCount>0,"unexpected ready notification"),t&&(e.dependencyChangeCount+=1),0===--e.dependencyStaleCount)if(e.dependencyChangeCount>0){e.dependencyChangeCount=0;var r=e.onDependenciesReady();ae(e,r)}else ae(e,!1)}function Ee(e,o){var n=!0,a=e.observing;e.observing=[],t.derivationStack.push(e);var s=t.isTracking;t.isTracking=!0;try{var u=o.call(e);return n=!1,t.isTracking=s,Jt(e,a),u}finally{if(n){var r="[mobx] An uncaught exception occurred while calculating your computed value, autorun or transformer. Or inside the render() method of an observer based React component. These functions should never throw exceptions as MobX will not always be able to recover from them. "+("Please fix the error reported after this message or enable 'Pause on (caught) exceptions' in your debugger to find the root cause. In: '"+e.name+"'");i()&&_({type:"error",object:this,message:r}),console.warn(r),ne()}}}function Jt(r,u){t.derivationStack.length-=1;for(var o=ze(r.observing,u),i=o[0],a=o[1],e=0,s=i.length;s>e;e++){var c=i[e];n(!Ue(r,c),"Cycle detected",r),Ut(i[e],r)}for(var e=0,s=a.length;s>e;e++)oe(a[e],r)}function Ue(n,r){if(n===r)return!0;var e=r.observing;if(void 0===e)return!1;for(var i=e.length,t=0;i>t;t++)if(Ue(n,e[t]))return!0;return!1}function Fe(e){var t=E(),n=e();return C(t),n}function E(){var e=t.isTracking;return t.isTracking=!1,e}function C(e){t.isTracking=e}function Ft(){}function ne(){t.resetId++;var n=new Ce;for(var e in n)-1===Rt.indexOf(e)&&(t[e]=n[e]);t.allowStateChanges=!t.strictMode}function Ut(e,r){var t=e.observers,n=t.length;t[n]=r,0===n&&e.onBecomeObserved()}function oe(t,r){var e=t.observers,n=e.indexOf(r);-1!==n&&e.splice(n,1),0===e.length&&t.onBecomeUnobserved()}function Oe(n){if(t.isTracking!==!1){var i=t.derivationStack,e=i[i.length-1].observing,r=e.length;e[r-1]!==n&&e[r-2]!==n&&(e[r]=n)}}function ke(e){var t=e.observers.slice();t.forEach(Qt),e.staleObservers=e.staleObservers.concat(t)}function ae(e,t){e.staleObservers.splice(0).forEach(function(e){return qt(e,t)})}function ce(){if(!(t.isRunningReactions===!0||t.inTransaction>0)){t.isRunningReactions=!0;for(var e=t.pendingReactions,i=0;e.length>0;){if(++i===at)throw new Error("Reaction doesn't converge to a stable state. Probably there is a cycle in the reactive function: "+e[0].toString());for(var r=e.splice(0),n=0,o=r.length;o>n;n++)r[n].runReaction()}t.isRunningReactions=!1}}function i(){return W}function _(r){if(!W)return!1;for(var n=t.spyListeners,e=0,i=n.length;i>e;e++)n[e](r)}function u(e){var t=tt({},e,{spyReportStart:!0});_(t)}function l(e){_(e?tt({},e,je):je)}function Ne(e){return t.spyListeners.push(e),W=t.spyListeners.length>0,N(function(){var n=t.spyListeners.indexOf(e);-1!==n&&t.spyListeners.splice(n,1),W=t.spyListeners.length>0})}function Pt(e){return a("trackTransitions is deprecated. Use mobx.spy instead"),"boolean"==typeof e&&(a("trackTransitions only takes a single callback function. If you are using the mobx-react-devtools, please update them first"),e=arguments[1]),e?Ne(e):(a("trackTransitions without callback has been deprecated and is a no-op now. If you are using the mobx-react-devtools, please update them first"),function(){})}function $(n,e,t){void 0===e&&(e=void 0),void 0===t&&(t=!0),Ke(n.name||"anonymous transaction",e,t);var r=n.call(e);return qe(t),r}function Ke(r,e,n){void 0===e&&(e=void 0),void 0===n&&(n=!0),t.inTransaction+=1,n&&i()&&u({type:"transaction",target:e,name:r})}function qe(e){if(void 0===e&&(e=!0),0===--t.inTransaction){for(var r=t.changedAtoms.splice(0),n=0,o=r.length;o>n;n++)_e(r[n]);ce()}e&&i()&&l()}function S(e){return e.interceptors&&e.interceptors.length>0}function z(t,n){var e=t.interceptors||(t.interceptors=[]);return e.push(n),N(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function O(i,e){for(var o=E(),r=i.interceptors,t=0,a=r.length;a>t;t++)if(e=r[t](e),n(!e||e.type,"Intercept handlers should return nothing or a change object"),!e)return null;return C(o),e}function m(e){return e.changeListeners&&e.changeListeners.length>0}function F(t,n){var e=t.changeListeners||(t.changeListeners=[]);return e.push(n),N(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function g(r,n){var i=E(),e=r.changeListeners;if(e){e=e.slice();for(var t=0,o=e.length;o>t;t++)Array.isArray(n)?e[t].apply(null,n):e[t](n);C(i)}}function H(e){return new te(e)}function re(e){return new U(e)}function Re(e){return new X(e)}function Et(e,t){return $e(e,t)}function L(e,t){return e instanceof te?[r.Reference,e.value]:e instanceof U?[r.Structure,e.value]:e instanceof X?[r.Flat,e.value]:[t,e]}function Ct(e){return e===H?r.Reference:e===re?r.Structure:e===Re?r.Flat:(n(void 0===e,"Cannot determine value mode from function. Please pass in one of these: mobx.asReference, mobx.asStructure or mobx.asFlat, got: "+e),r.Recursive)}function M(e,a,o){var t;if(Q(e))return e;switch(a){case r.Reference:return e;case r.Flat:p(e,"Items inside 'asFlat' cannot have modifiers"),t=r.Reference;break;case r.Structure:p(e,"Items inside 'asStructure' cannot have modifiers"),t=r.Structure;break;case r.Recursive:i=L(e,r.Recursive),t=i[0],e=i[1];break;default:n(!1,"Illegal State")}return Array.isArray(e)?Le(e,t,o):w(e)&&Object.isExtensible(e)?Ve(e,e,t,o):e;var i}function p(e,t){if(e instanceof te||e instanceof U||e instanceof X)throw new Error("[mobx] asStructure / asReference / asFlat cannot be used here. "+t)}function St(e){Object.defineProperty(f.prototype,""+e,{enumerable:!1,configurable:!1,set:xt(e),get:wt(e)})}function xt(e){return function(t){var n=this.$mobx,i=n.values;if(p(t,"Modifiers cannot be used on array values. For non-reactive array values use makeReactive(asFlat(array))."),e<i.length){ee();var o=i[e];if(S(n)){var a=O(n,{type:"update",object:n.array,index:e,newValue:t});if(!a)return;t=a.newValue}t=n.makeReactiveArrayItem(t);var s=n.mode===r.Structure?!q(o,t):o!==t;s&&(i[e]=t,n.notifyArrayChildUpdate(e,t,o))}else{if(e!==i.length)throw new Error("[mobx.array] Index out of bounds, "+e+" is larger than "+i.length);n.spliceWithArray(e,0,[t])}}}function wt(e){return function(){var t=this.$mobx;return t&&e<t.values.length?(t.atom.reportObserved(),t.values[e]):void 0}}function De(t){for(var e=ve;t>e;e++)St(e);ve=t}function Le(e,t,n){return new f(e,t,n)}function vt(e){return a("fastArray is deprecated. Please use `observable(asFlat([]))`"),Le(e,r.Flat,null)}function K(e){return e instanceof f}function $e(e,t){return new A(e,t)}function B(e){return e instanceof A}function fe(e,t,n){if(void 0===n&&(n=r.Recursive),y(e))return e.$mobx;w(e)||(t=e.constructor.name+"@"+s()),t||(t="ObservableObject@"+s());var i=new xe(e,t,n);return Object.defineProperty(e,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:i}),i}function dt(e,t,n){e.values[t]?e.target[t]=n:pe(e,t,n,!0)}function pe(t,n,e,a){a&&We(t.target,n);var r,i=t.name+"."+n,o=!0;if("function"!=typeof e||0!==e.length||Pe(e))if(e instanceof U&&"function"==typeof e.value&&0===e.value.length)r=new h(e.value,t.target,!0,i);else{if(o=!1,S(t)){var s=O(t,{object:t.target,name:n,type:"add",newValue:e});if(!s)return;e=s.newValue}r=new I(e,t.mode,i,!1),e=r.value}else r=new h(e,t.target,!1,i);t.values[n]=r,a&&Object.defineProperty(t.target,n,o?pt(n):ht(n)),o||ft(t,t.target,n,e)}function ht(e){var t=rt[e];return t?t:rt[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){we(this,e,t)}}}function pt(e){var t=Te[e];return t?t:Te[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:Se}}function we(r,o,e){var t=r.$mobx,a=t.values[o];if(S(t)){var n=O(t,{type:"update",object:r,name:o,newValue:e});if(!n)return;e=n.newValue}if(e=a.prepareNewValue(e),e!==P){var c=m(t),s=i(),n=g||m?{type:"update",object:r,oldValue:a.value,name:o,newValue:e}:null;s&&u(n),a.setNewValue(e),c&&g(t,n),s&&l()}}function ft(t,o,a,s){var n=m(t),e=i(),r=n||e?{type:"add",object:o,name:a,newValue:s}:null;e&&u(r),n&&g(t,r),e&&l()}function y(e){return"object"==typeof e&&null!==e?(V(e),e.$mobx instanceof xe):!1}function b(e,t){if("object"==typeof e&&null!==e){if(K(e))return n(void 0===t,"It is not possible to get index atoms from arrays"),e.$mobx.atom;if(B(e)){if(void 0===t)return b(e._keys);var r=e._data[t]||e._hasMap[t];return n(!!r,"the entry '"+t+"' does not exist in the observable map '"+be(e)+"'"),r}if(V(e),y(e)){n(!!t,"please specify a property");var i=e.$mobx.values[t];return n(!!i,"no observable property '"+t+"' found on the observable object '"+be(e)+"'"),i}if(e instanceof j||e instanceof h||e instanceof d)return e}else if("function"==typeof e&&e.$mobx instanceof d)return e.$mobx;n(!1,"Cannot obtain atom from "+e)}function v(e,t){return n(e,"Expection some object"),void 0!==t?v(b(e,t)):e instanceof j||e instanceof h||e instanceof d?e:B(e)?e:(V(e),e.$mobx?e.$mobx:void n(!1,"Cannot obtain administration from "+e))}function be(e,t){var n;return n=void 0!==t?b(e,t):y(e)||B(e)?v(e):b(e),n.name}function ye(e,r,i,o,a){function t(s,t,u,l){if(n(a||Ze(arguments),"This function is a decorator, but it wasn't invoked like a decorator"),u){s.hasOwnProperty("__mobxLazyInitializers")||Object.defineProperty(s,"__mobxLazyInitializers",{writable:!1,configurable:!1,enumerable:!1,value:s.__mobxLazyInitializers&&s.__mobxLazyInitializers.slice()||[]});var p=u.value,f=u.initializer;return s.__mobxLazyInitializers.push(function(n){e(n,t,f?f.call(n):p,l,u)}),{enumerable:o,configurable:!0,get:function(){return this.__mobxDidRunLazyInitializers!==!0&&V(this),r.call(this,t)},set:function(e){this.__mobxDidRunLazyInitializers!==!0&&V(this),i.call(this,t,e)}}}var c={enumerable:o,configurable:!0,get:function(){return this.__mobxInitializedProps&&this.__mobxInitializedProps[t]===!0||Xe(this,t,void 0,e,l,c),r.call(this,t)},set:function(n){this.__mobxInitializedProps&&this.__mobxInitializedProps[t]===!0?i.call(this,t,n):Xe(this,t,n,e,l,c)}};return arguments.length<3&&Object.defineProperty(s,t,c),c}return a?function(){if(Ze(arguments))return t.apply(null,arguments);var e=arguments;return function(n,r,i){return t(n,r,i,e)}}:t}function Xe(e,t,n,r,i,o){e.hasOwnProperty("__mobxInitializedProps")||Object.defineProperty(e,"__mobxInitializedProps",{enumerable:!1,configurable:!1,writable:!0,value:{}}),e.__mobxInitializedProps[t]=!0,r(e,t,n,i,o)}function V(e){e.__mobxDidRunLazyInitializers!==!0&&e.__mobxLazyInitializers&&(Object.defineProperty(e,"__mobxDidRunLazyInitializers",{enumerable:!1,configurable:!1,writable:!1,value:!0}),e.__mobxDidRunLazyInitializers&&e.__mobxLazyInitializers.forEach(function(t){return t(e)}))}function Ze(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]}function s(){return++t.mobxGuid}function n(t,n,e){if(!t)throw new Error("[mobx] Invariant failed: "+n+(e?" in '"+e+"'":""))}function a(e){-1===Ae.indexOf(e)&&(Ae.push(e),console.error("[mobx] Deprecated: "+e))}function N(t){var e=!1;return function(){return e?void 0:(e=!0,t.apply(this,arguments))}}function D(t){var e=[];return t.forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),e}function Y(t,e,n){if(void 0===e&&(e=100),void 0===n&&(n=" - "),!t)return"";var r=t.slice(0,e);return""+r.join(n)+(t.length>e?" (... and "+(t.length-e)+"more)":"")}function w(e){return null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype}function tt(){for(var r=arguments[0],e=1,i=arguments.length;i>e;e++){var t=arguments[e];for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])}return r}function me(n,e,t){return n?!q(e,t):e!==t}function ct(n,t){for(var e=0;e<t.length;e++)Object.defineProperty(n,t[e],{configurable:!0,writable:!0,enumerable:!1,value:n[t[e]]})}function Be(t,n){var e=Object.getOwnPropertyDescriptor(t,n);return!e||e.configurable!==!1&&e.writable!==!1}function We(t,e){n(Be(t,e),"Cannot make property '"+e+"' observable, it is not configurable and writable in the target object")}function Je(t){var e=[];for(var n in t)e.push(n);return e}function q(e,t){if(null===e&&null===t)return!0;if(void 0===e&&void 0===t)return!0;var i=Array.isArray(e)||K(e);if(i!==(Array.isArray(t)||K(t)))return!1;if(i){if(e.length!==t.length)return!1;for(var n=e.length;n>=0;n--)if(!q(e[n],t[n]))return!1;return!0}if("object"==typeof e&&"object"==typeof t){if(null===e||null===t)return!1;if(Je(e).length!==Je(t).length)return!1;for(var r in e){if(!(r in t))return!1;if(!q(e[r],t[r]))return!1}return!0}return e===t}function ze(n,r){if(!r||!r.length)return[n,[]];if(!n||!n.length)return[[],r];for(var a=[],s=[],e=0,i=0,p=n.length,c=!1,t=0,o=0,l=r.length,u=!1,f=!1;!f&&!c;){if(!u){if(p>e&&l>t&&n[e]===r[t]){if(e++,t++,e===p&&t===l)return[a,s];continue}i=e,o=t,u=!0}o+=1,i+=1,o>=l&&(f=!0),i>=p&&(c=!0),c||n[i]!==r[t]?f||r[o]!==n[e]||(s=s.concat(r.slice(t,o)),t=o+1,e++,u=!1):(a=a.concat(n.slice(e,i)),e=i+1,t++,u=!1)}return[a.concat(n.slice(e)),s.concat(r.slice(t))]}var ue=this&&this.__extends||function(t,e){function r(){this.constructor=t}for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};Ft(),e.extras={allowStateChanges:Ge,getAtom:b,getDebugName:be,getDependencyTree:mt,getObserverTree:st,isComputingDerivation:Z,isSpyEnabled:i,resetGlobalState:ne,spyReport:_,spyReportEnd:l,spyReportStart:u,trackTransitions:Pt},e._={getAdministration:v,quickDiff:ze,resetGlobalState:ne},e.autorun=ie,e.when=Ie,e.autorunUntil=Bt,e.autorunAsync=Wt,e.reaction=Gt;var bt=ye(function(o,a,c,e,s){var t=s.get;n("function"==typeof t,"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'");var i=!1;e&&1===e.length&&e[0].asStructure===!0&&(i=!0);var u=fe(o,void 0,r.Recursive);pe(u,a,i?re(t):t,!1)},function(e){return this.$mobx.values[e].get()},Se,!1,!0);e.computed=le,e.createTransformer=jt,e.expr=_t,e.extendObservable=se,e.intercept=At,e.isObservable=Q;var yt=ye(function(t,n,e){var i=J(!0);"function"==typeof e&&(e=H(e));var o=fe(t,void 0,r.Recursive);pe(o,n,e,!0),G(i)},function(e){return this.$mobx.values[e].get()},function(e,t){we(this,e,t)},!0,!1);e.observable=de;var o;!function(e){e[e.Reference=0]="Reference",e[e.PlainObject=1]="PlainObject",e[e.ComplexObject=2]="ComplexObject",e[e.Array=3]="Array",e[e.ViewFunction=4]="ViewFunction",e[e.ComplexFunction=5]="ComplexFunction"}(o||(o={})),e.observe=Vt,e.toJS=R,e.toJSON=Lt,e.whyRun=Tt;var gt=ye(function(e,t,r,n,i){var a=n&&1===n.length?n[0]:r.name||t||"<unnamed action>",o=he(a,r);i&&i.value&&e.constructor&&e.constructor.prototype?Object.defineProperty(e.constructor.prototype,t,{configurable:!0,enumerable:!1,writable:!1,value:o}):Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!1,value:o})},function(e){return this[e]},function(){n(!1,"It is not allowed to assign new values to @action fields")},!1,!0);e.action=he,e.isAction=Pe,e.runInAction=zt,e.useStrict=Ht;var j=function(){function e(e,t,n){void 0===e&&(e="Atom@"+s()),void 0===t&&(t=ot),void 0===n&&(n=ot),this.name=e,this.onBecomeObserved=t,this.onBecomeUnobserved=n,this.isDirty=!1,this.staleObservers=[],this.observers=[]}return e.prototype.reportObserved=function(){Oe(this)},e.prototype.reportChanged=function(){this.isDirty||(this.reportStale(),this.reportReady())},e.prototype.reportStale=function(){this.isDirty||(this.isDirty=!0,ke(this))},e.prototype.reportReady=function(){n(this.isDirty,"atom not dirty"),t.inTransaction>0?t.changedAtoms.push(this):(_e(this),ce())},e.prototype.toString=function(){return this.name},e}();e.Atom=j;var c,h=function(){function e(e,t,n,r){this.derivation=e,this.scope=t,this.compareStructural=n,this.isLazy=!0,this.isComputing=!1,this.staleObservers=[],this.observers=[],this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.value=void 0,this.name=r||"ComputedValue@"+s()}return e.prototype.peek=function(){this.isComputing=!0;var e=J(!1),t=this.derivation.call(this.scope);return G(e),this.isComputing=!1,t},e.prototype.onBecomeObserved=function(){},e.prototype.onBecomeUnobserved=function(){for(var e=0,t=this.observing.length;t>e;e++)oe(this.observing[e],this);this.observing=[],this.isLazy=!0,this.value=void 0},e.prototype.onDependenciesReady=function(){var e=this.trackAndCompute();return e},e.prototype.get=function(){if(n(!this.isComputing,"Cycle detected",this.derivation),Oe(this),this.dependencyStaleCount>0)return this.peek();if(this.isLazy){if(!Z())return this.peek();this.isLazy=!1,this.trackAndCompute()}return this.value},e.prototype.set=function(e){throw new Error("[ComputedValue '"+name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){i()&&_({object:this,type:"compute",fn:this.derivation,target:this.scope});var e=this.value,t=this.value=Ee(this,this.peek);return me(this.compareStructural,t,e)},e.prototype.observe=function(n,r){var i=this,e=!0,t=void 0;return ie(function(){var o=i.get();if(!e||r){var a=E();n(o,t),C(a)}e=!1,t=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.whyRun=function(){var n=t.derivationStack.length>0,o=D(this.observing).map(function(e){return e.name}),r=D(this.observers).map(function(e){return e.name}),e=this.isComputing?n?this.observers.length>0?c.INVALIDATED:c.REQUIRED:c.PEEK:c.NOT_RUNNING;if(e===c.REQUIRED){var i=t.derivationStack[t.derivationStack.length-2];i&&r.push(i.name)}return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+Ot[e]+" "+(e===c.NOT_RUNNING&&this.dependencyStaleCount>0?"(a next run is scheduled)":"")+"\n"+(this.isLazy?" * This computation is suspended (not in use by any reaction) and won't run automatically.\n Didn't expect this computation to be suspended at this point?\n 1. Make sure this computation is used by a reaction (reaction, autorun, observer).\n 2. Check whether you are using this computation synchronously (in the same stack as they reaction that needs it).\n":" * This computation will re-run if any of the following observables changes:\n "+Y(o)+"\n "+(this.isComputing&&n?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n * If the outcome of this computation changes, the following observers will be re-run:\n "+Y(r)+"\n")},e}();!function(e){e[e.PEEK=0]="PEEK",e[e.INVALIDATED=1]="INVALIDATED",e[e.REQUIRED=2]="REQUIRED",e[e.NOT_RUNNING=3]="NOT_RUNNING"}(c||(c={}));var Ot=(k={},k[c.PEEK]="[peek] The value of this computed value was requested outside an reaction",k[c.INVALIDATED]="[invalidated] Some observables used by this computation did change",k[c.REQUIRED]="[started] This computation is required by another computed value / reaction",k[c.NOT_RUNNING]="[idle] This compution is currently not running",k);e.untracked=Fe;var Rt=["mobxGuid","resetId","spyListeners","strictMode"],Ce=function(){function e(){this.version=2,this.derivationStack=[],this.mobxGuid=0,this.inTransaction=0,this.isTracking=!1,this.isRunningReactions=!1,this.changedAtoms=[],this.pendingReactions=[],this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[]}return e}(),t=function(){var e=new Ce;if(x.__mobservableTrackingStack||x.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(x.__mobxGlobal&&x.__mobxGlobal.version!==e.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");return x.__mobxGlobal?x.__mobxGlobal:x.__mobxGlobal=e}(),d=function(){function e(e,t){void 0===e&&(e="Reaction@"+s()),this.name=e,this.onInvalidate=t,this.staleObservers=T,this.observers=T,this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeObserved=function(){},e.prototype.onBecomeUnobserved=function(){},e.prototype.onDependenciesReady=function(){return this.schedule(),!1},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,t.pendingReactions.push(this),ce())},e.prototype.isScheduled=function(){return this.dependencyStaleCount>0||this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(this._isScheduled=!1,this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&i()&&_({object:this,type:"scheduled-reaction"}))},e.prototype.track=function(e){var t,n=i();n&&(t=Date.now(),u({object:this,type:"reaction",fn:e})),this._isRunning=!0,Ee(this,e),this._isRunning=!1,this._isTrackPending=!1,n&&l({time:Date.now()-t})},e.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var t=this.observing.splice(0),e=0,n=t.length;n>e;e++)oe(t[e],this)}},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.whyRun=function(){var e=D(this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+Y(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n";
},e}();e.Reaction=d;var at=100,W=!1,je={spyReportEnd:!0};e.spy=Ne,e.transaction=$;var r;!function(e){e[e.Recursive=0]="Recursive",e[e.Reference=1]="Reference",e[e.Structure=2]="Structure",e[e.Flat=3]="Flat"}(r||(r={})),e.asReference=H,e.asStructure=re,e.asFlat=Re;var te=function(){function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}(),U=function(){function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}(),X=function(){function e(e){this.value=e,p(e,"Modifiers are not allowed to be nested")}return e}();e.asMap=Et;var ve=0,Me=function(){function e(){}return e}();Me.prototype=[];var $t=function(){function e(e,t,n,r){this.mode=t,this.array=n,this.owned=r,this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new j(e||"ObservableArray@"+s())}return e.prototype.makeReactiveArrayItem=function(e){return p(e,"Array values cannot have modifiers"),this.mode===r.Flat||this.mode===r.Reference?e:M(e,this.mode,this.atom.name+"[..]")},e.prototype.intercept=function(e){return z(this,e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),F(this,t)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||0>e)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;e!==t&&(e>t?this.spliceWithArray(t,0,new Array(e-t)):this.spliceWithArray(e,t-e))},e.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e>ve&&De(t+e)},e.prototype.spliceWithArray=function(e,n,t){ee();var r=this.values.length;if(void 0===e?e=0:e>r?e=r:0>e&&(e=Math.max(0,r+e)),n=1===arguments.length?r-e:void 0===n||null===n?0:Math.max(0,Math.min(n,r-e)),void 0===t&&(t=[]),S(this)){var i=O(this,{object:this.array,type:"splice",index:e,removedCount:n,added:t});if(!i)return T;n=i.removedCount,t=i.added}t=t.map(this.makeReactiveArrayItem,this);var s=t.length-n;this.updateArrayLength(r,s);var o=(a=this.values).splice.apply(a,[e,n].concat(t));return(0!==n||0!==t.length)&&this.notifyArraySplice(e,t,o),o;var a},e.prototype.notifyArrayChildUpdate=function(r,o,a){var e=!this.owned&&i(),t=m(this),n=t||e?{object:this.array,type:"update",index:r,newValue:o,oldValue:a}:null;e&&u(n),this.atom.reportChanged(),t&&g(this,n),e&&l()},e.prototype.notifyArraySplice=function(a,t,n){var e=!this.owned&&i(),r=m(this),o=r||e?{object:this.array,type:"splice",index:a,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;e&&u(o),this.atom.reportChanged(),r&&g(this,o),e&&l()},e}(),f=function(t){function e(n,i,o,r){void 0===r&&(r=!1),t.call(this);var e=new $t(o,i,this,r);Object.defineProperty(this,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:e}),n&&n.length?(e.updateArrayLength(0,n.length),e.values=n.map(e.makeReactiveArrayItem,e),e.notifyArraySplice(0,e.values.slice(),T)):e.values=[]}return ue(e,t),e.prototype.intercept=function(e){return this.$mobx.intercept(e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.replace=function(e){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,e)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.values},e.prototype.find=function(r,i,t){void 0===t&&(t=0),this.$mobx.atom.reportObserved();for(var n=this.$mobx.values,o=n.length,e=t;o>e;e++)if(r.call(i,n[e],e,this))return n[e]},e.prototype.splice=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,n)}return this.$mobx.spliceWithArray(t,n,r)},e.prototype.push=function(){for(var n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];var t=this.$mobx;return t.spliceWithArray(t.values.length,0,n),t.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){this.$mobx.atom.reportObserved();var e=this.slice();return e.reverse.apply(e,arguments)},e.prototype.sort=function(t){this.$mobx.atom.reportObserved();var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.values.indexOf(t);return e>-1?(this.splice(e,1),!0):!1},e.prototype.toString=function(){return"[mobx.array] "+Array.prototype.toString.apply(this.$mobx.values,arguments)},e.prototype.toLocaleString=function(){return"[mobx.array] "+Array.prototype.toLocaleString.apply(this.$mobx.values,arguments)},e}(Me);ct(f.prototype,["constructor","observe","clear","replace","toJSON","peek","find","splice","push","pop","shift","unshift","reverse","sort","remove","toString","toLocaleString"]),Object.defineProperty(f.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(e){this.$mobx.setArrayLength(e)}}),["concat","every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"].forEach(function(e){var t=Array.prototype[e];Object.defineProperty(f.prototype,e,{configurable:!1,writable:!0,enumerable:!1,value:function(){return this.$mobx.atom.reportObserved(),t.apply(this.$mobx.values,arguments)}})}),De(1e3),e.fastArray=vt,e.isObservableArray=K;var Nt={},A=function(){function e(e,n){var t=this;this.$mobx=Nt,this._data={},this._hasMap={},this.name="ObservableMap@"+s(),this._keys=new f(null,r.Reference,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this._valueMode=Ct(n),this._valueMode===r.Flat&&(this._valueMode=r.Reference),Ge(!0,function(){w(e)?t.merge(e):Array.isArray(e)&&e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)})})}return e.prototype._has=function(e){return"undefined"!=typeof this._data[e]},e.prototype.has=function(e){return this.isValidKey(e)?(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get()):!1},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(p(t,"[mobx.map.set] Expected unwrapped value to be inserted to key '"+e+"'. If you need to use modifiers pass them as second argument to the constructor"),S(this)){var r=O(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return;t=r.newValue}n?this._updateValue(e,t):this._addValue(e,t)},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,S(this)){var n=O(this,{type:"delete",object:this,name:e});if(!n)return}if(this._has(e)){var r=i(),o=m(this),n=o||r?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;r&&u(n),$(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1);var n=t._data[e];n.setNewValue(void 0),t._data[e]=void 0},void 0,!1),o&&g(this,n),r&&l()}},e.prototype._updateHasMapEntry=function(t,n){var e=this._hasMap[t];return e?e.setNewValue(n):e=this._hasMap[t]=new I(n,r.Reference,this.name+"."+t+"?",!1),e},e.prototype._updateValue=function(r,e){var t=this._data[r];if(e=t.prepareNewValue(e),e!==P){var n=i(),o=m(this),a=o||n?{type:"update",object:this,oldValue:t.value,name:r,newValue:e}:null;n&&u(a),t.setNewValue(e),o&&g(this,a),n&&l()}},e.prototype._addValue=function(e,n){var t=this;$(function(){var r=t._data[e]=new I(n,t._valueMode,t.name+"."+e,!1);n=r.value,t._updateHasMapEntry(e,!0),t._keys.push(e)},void 0,!1);var r=i(),o=m(this),a=o||r?{type:"add",object:this,name:e,newValue:n}:null;r&&u(a),o&&g(this,a),r&&l()},e.prototype.get=function(e){return e=""+e,this.has(e)?this._data[e].get():void 0},e.prototype.keys=function(){return this._keys.slice()},e.prototype.values=function(){return this.keys().map(this.get,this)},e.prototype.entries=function(){var e=this;return this.keys().map(function(t){return[t,e.get(t)]})},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r)})},e.prototype.merge=function(t){var n=this;return $(function(){t instanceof e?t.keys().forEach(function(e){return n.set(e,t.get(e))}):Object.keys(t).forEach(function(e){return n.set(e,t[e])})},void 0,!1),this},e.prototype.clear=function(){var e=this;$(function(){Fe(function(){e.keys().forEach(e.delete,e)})},void 0,!1)},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var t=this,e={};return this.keys().forEach(function(n){return e[n]=t.get(n)}),e},e.prototype.toJs=function(){return a("toJs is deprecated, use toJS instead"),this.toJS()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null===e||void 0===e?!1:"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e?!1:!0},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"'")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,t){return n(t!==!0,"`observe` doesn't support the fire immediately property for observable maps."),F(this,e)},e.prototype.intercept=function(e){return z(this,e)},e}();e.ObservableMap=A,e.map=$e,e.isObservableMap=B;var xe=function(){function e(e,t,n){this.target=e,this.name=t,this.mode=n,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return n(t!==!0,"`observe` doesn't support the fire immediately property for observable objects."),F(this,e)},e.prototype.intercept=function(e){return z(this,e)},e}(),rt={},Te={};e.isObservableObject=y;var P={},I=function(t){function e(a,u,e,n){void 0===e&&(e="ObservableValue@"+s()),void 0===n&&(n=!0),t.call(this,e),this.mode=u,this.hasUnreportedChange=!1,this.value=void 0;var o=L(a,r.Recursive),c=o[0],l=o[1];this.mode===r.Recursive&&(this.mode=c),this.value=M(l,this.mode,this.name),n&&i()&&_({type:"create",object:this,newValue:this.value})}return ue(e,t),e.prototype.set=function(e){var n=this.value;if(e=this.prepareNewValue(e),e!==P){var t=i();t&&u({type:"update",object:this,newValue:e,oldValue:n}),this.setNewValue(e),t&&l()}},e.prototype.prepareNewValue=function(e){if(p(e,"Modifiers cannot be used on non-initial values."),ee(),S(this)){var t=O(this,{object:this,type:"update",newValue:e});if(!t)return P;e=t.newValue}var n=me(this.mode===r.Structure,this.value,e);return n?M(e,this.mode,this.name):P},e.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),m(this)&&g(this,[e,t])},e.prototype.get=function(){return this.reportObserved(),this.value},e.prototype.intercept=function(e){return z(this,e)},e.prototype.observe=function(e,t){return t&&e(this.value,void 0),F(this,e)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e}(j),Kt=function(){function e(){this.listeners=[],a("extras.SimpleEventEmitter is deprecated and will be removed in the next major release")}return e.prototype.emit=function(){for(var t=this.listeners.slice(),e=0,n=t.length;n>e;e++)t[e].apply(null,arguments)},e.prototype.on=function(e){var t=this;return this.listeners.push(e),N(function(){var n=t.listeners.indexOf(e);-1!==n&&t.listeners.splice(n,1)})},e.prototype.once=function(t){var e=this.on(function(){e(),t.apply(this,arguments)});return e},e}();e.SimpleEventEmitter=Kt;var T=[];Object.freeze(T);var k,Ae=[],ot=function(){}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.mobx=e()}}(function(){return function a(e,t,n){function r(i,l){if(!t[i]){if(!e[i]){var u="function"==typeof require&&require;if(!l&&u)return u(i,!0);if(o)return o(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var s=t[i]={exports:{}};e[i][0].call(s.exports,function(t){var n=e[i][1][t];return r(n?n:t)},s,s.exports,a,e,t,n)}return t[i].exports}for(var o="function"==typeof require&&require,i=0;i<n.length;i++)r(n[i]);return r}({1:[function(t,n,e){(function(O){"use strict";function Z(t,o,u){var i,e,r;"string"==typeof t?(i=t,e=o,r=u):"function"==typeof t&&(i=t.name||"Autorun@"+s(),e=t,r=o),f(e,"autorun methods cannot have modifiers"),n("function"==typeof e,"autorun expects a function"),n(0===e.length,"autorun expects a function without arguments"),r&&(e=e.bind(r));var a=new m(i,function(){this.track(e)});return a.schedule(),a.getDisposer()}function Be(e,a,u,l){var r,i,o,t;"string"==typeof e?(r=e,i=a,o=u,t=l):"function"==typeof e&&(r="When@"+s(),i=e,o=a,t=u);var c=!1,n=Z(r,function(){if(i.call(t)){n?n():c=!0;var e=k();o.call(t),j(e)}});return c&&n(),n}function Ht(e,t,n){return a("`autorunUntil` is deprecated, please use `when`."),Be.apply(null,arguments)}function Xt(e,u,c,l){var o,t,n,r;"string"==typeof e?(o=e,t=u,n=c,r=l):"function"==typeof e&&(o=e.name||"AutorunAsync@"+s(),t=e,n=u,r=c),void 0===n&&(n=1),r&&(t=t.bind(r));var a=!1,i=new m(o,function(){a||(a=!0,setTimeout(function(){a=!1,i.isDisposed||i.track(t)},n))});return i.schedule(),i.getDisposer()}function Qt(o,p,w,g,y,_){function b(){if(!l.isDisposed){var e=!1;l.track(function(){var t=d();e=se(x,a,t),a=t}),u&&n&&t(a),u||e!==!0||t(a),u&&(u=!1)}}var c,f,t,n,e,i;"string"==typeof o?(c=o,f=p,t=w,n=g,e=y,i=_):(c=o.name||p.name||"Reaction@"+s(),f=o,t=p,n=w,e=g,i=y),void 0===n&&(n=!1),void 0===e&&(e=0);var v=M(f,r.Reference),O=v[0],d=v[1],x=O===r.Structure;i&&(d=d.bind(i),t=te(c,t.bind(i)));var u=!0,h=!1,a=void 0,l=new m(c,function(){1>e?b():h||(h=!0,setTimeout(function(){h=!1,b()},e))});return l.schedule(),l.getDisposer()}function ve(e,t,r,i){return arguments.length<3&&"function"==typeof e?Bt(e,t):(n(!r||!r.set,"@observable properties cannot have a setter: "+t),bt.apply(null,arguments))}function Bt(n,i){var e=M(n,r.Recursive),o=e[0],t=e[1];return new g(t,i,o===r.Structure,t.name)}function Ie(){throw new Error("[ComputedValue] It is not allowed to assign new values to computed properties.")}function Kt(e,i){n("function"==typeof e&&1===e.length,"createTransformer expects a function that accepts one argument");var r={},o=t.resetId,a=function(t){function n(n,r){t.call(this,function(){return e(r)},null,!1,"Transformer-"+e.name+"-"+n),this.sourceIdentifier=n,this.sourceObject=r}return H(n,t),n.prototype.onBecomeUnobserved=function(){var e=this.value;t.prototype.onBecomeUnobserved.call(this),delete r[this.sourceIdentifier],i&&i(e,this.sourceObject)},n}(g);return function(i){o!==t.resetId&&(r={},o=t.resetId);var n=Wt(i),e=r[n];return e?e.get():(e=r[n]=new a(n,i),e.get())}}function Wt(e){if(null===e||"object"!=typeof e)throw new Error("[mobx] transform expected some kind of object, got: "+e);var t=e.$transformId;return void 0===t&&(t=s(),Object.defineProperty(e,"$transformId",{configurable:!0,writable:!0,enumerable:!1,value:t})),t}function Gt(e,t){return ie()||console.warn("[mobx.expr] 'expr' should only be used inside other reactive functions."),ve(e,t).get()}function ce(e){for(var i=[],t=1;t<arguments.length;t++)i[t-1]=arguments[t];return n(arguments.length>=2,"extendObservable expected 2 or more arguments"),n("object"==typeof e,"extendObservable expects an object as first argument"),n(!(e instanceof E),"extendObservable should not be used on maps, use map.merge instead"),i.forEach(function(t){n("object"==typeof t,"all arguments of extendObservable should be objects"),it(e,t,r.Recursive,null)}),e}function it(e,t,r,i){var o=oe(e,i,r);for(var n in t)if(t.hasOwnProperty(n)){if(e===t&&!Je(e,n))continue;pt(o,n,t[n])}return e}function Jt(e,t){return Se(b(e,t))}function Se(e){var t={name:e.name};return e.observing&&e.observing.length&&(t.dependencies=V(e.observing).map(Se)),t}function Ft(e,t){return je(b(e,t))}function je(e){var t={name:e.name};return e.observers&&e.observers.length&&(t.observers=V(e.observers).map(je)),t}function Nt(e,t,n){return"function"==typeof n?We(e,t,n):Mt(e,t)}function Mt(e,t){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(de(e)).intercept(t)):d(e).intercept(t)}function We(e,t,n){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),ce(e,{property:e[t]}),We(e,t,n)):d(e,t).intercept(n)}function N(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(e instanceof E||e instanceof p)throw new Error("[mobx.isObservable] isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.");if(y(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return!!e.$mobx||e instanceof A||e instanceof m||e instanceof g}function Tt(r,e,t){return n(arguments.length>=2&&arguments.length<=3,"Illegal decorator config",e),Fe(r,e),n(!t||!t.get,"@observable can not be used on getters, use @computed instead"),yt.apply(null,arguments)}function de(e,u){if(void 0===e&&(e=void 0),"string"==typeof arguments[1])return Tt.apply(null,arguments);if(n(arguments.length<3,"observable expects zero, one or two arguments"),N(e))return e;var s=M(e,r.Recursive),t=s[0],i=s[1],c=t===r.Reference?o.Reference:Pt(i);switch(c){case o.Array:case o.PlainObject:return J(i,t);case o.Reference:case o.ComplexObject:return new I(i,t);case o.ComplexFunction:throw new Error("[mobx.observable] To be able to make a function reactive it should not have arguments. If you need an observable reference to a function, use `observable(asReference(f))`");case o.ViewFunction:return a("Use `computed(expr)` instead of `observable(expr)`"),ve(e,u)}n(!1,"Illegal State")}function Pt(e){return null===e||void 0===e?o.Reference:"function"==typeof e?e.length?o.ComplexFunction:o.ViewFunction:Array.isArray(e)||e instanceof p?o.Array:"object"==typeof e?w(e)?o.PlainObject:o.ComplexObject:o.Reference}function Dt(t,n,e,r){return"function"==typeof e?_e(t,n,e,r):Vt(t,n,e)}function Vt(e,t,n){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),d(de(e)).observe(t,n)):d(e).observe(t,n)}function _e(e,t,n,r){return w(e)&&!y(e)?(a("Passing plain objects to intercept / observe is deprecated and will be removed in 3.0"),ce(e,{property:e[t]}),_e(e,t,n,r)):d(e,t).observe(n,r)}function R(e,n,t){function o(r){return n&&t.push([e,r]),r}if(void 0===n&&(n=!0),void 0===t&&(t=null),e instanceof Date||e instanceof RegExp)return e;if(n&&null===t&&(t=[]),n&&null!==e&&"object"==typeof e)for(var r=0,s=t.length;s>r;r++)if(t[r][0]===e)return t[r][1];if(!e)return e;if(Array.isArray(e)||e instanceof p){var i=o([]),a=e.map(function(e){return R(e,n,t)});i.length=a.length;for(var r=0,s=a.length;s>r;r++)i[r]=a[r];return i}if(e instanceof E){var u=o({});return e.forEach(function(e,r){return u[r]=R(e,n,t)}),u}if(N(e)&&e.$mobx instanceof I)return R(e(),n,t);if(e instanceof I)return R(e.get(),n,t);if("object"==typeof e){var i=o({});for(var c in e)i[c]=R(e[c],n,t);return i}return e}function Et(n,e,t){return void 0===e&&(e=!0),void 0===t&&(t=null),a("toJSON is deprecated. Use toJS instead"),R.apply(null,arguments)}function ne(e){return console.log(e),e}function ut(e,r){switch(arguments.length){case 0:if(e=t.derivationStack[t.derivationStack.length-1],!e)return ne("whyRun() can only be used if a derivation is active, or by passing an computed value / reaction explicitly. If you invoked whyRun from inside a computation; the computation is currently suspended but re-evaluating because somebody requested it's value.");break;case 2:e=b(e,r)}return e=b(e),e instanceof g?ne(e.whyRun()):e instanceof m?ne(e.whyRun()):void n(!1,"whyRun can only be used on reactions and computed values")}function te(e,t,n,r){return 1===arguments.length&&"function"==typeof e?Y(e.name||"<unnamed action>",e):2===arguments.length&&"function"==typeof t?Y(e,t):1===arguments.length&&"string"==typeof e?Le(e):Le(t).apply(null,arguments)}function Le(e){return function(n,r,t){return t&&"function"==typeof t.value?(t.value=Y(e,t.value),t.enumerable=!1,t):gt(e).apply(this,arguments)}}function Ne(e){return"function"==typeof e&&e.isMobxAction===!0}function It(e,i,o){var t="string"==typeof e?e:e.name||"<unnamed action>",r="function"==typeof e?e:i,a="function"==typeof e?i:o;return n("function"==typeof r,"`runInAction` expects a function"),n(0===r.length,"`runInAction` expects a function without arguments"),n("string"==typeof t&&t.length>0,"actions should have valid names, got: '"+t+"'"),Ke(t,r,a,void 0)}function Y(e,t){n("function"==typeof t,"`action` can only be invoked on functions"),n("string"==typeof e&&e.length>0,"actions should have valid names, got: '"+e+"'");var r=function(){return Ke(e,t,this,arguments)};return r.isMobxAction=!0,r}function Ke(h,f,r,e){var s=t.derivationStack;n(!(s[s.length-1]instanceof g),"Computed values or transformers should not invoke actions or trigger other side effects");var l,a=i();if(a){l=Date.now();var p=[];if(e)for(var o=0,d=e.length;d>o;o++)p.push(e[o]);c({type:"action",name:h,fn:f,target:r,arguments:p})}var v=k();et(h,r,!1);var b=B(!0);try{return f.apply(r,e)}finally{$(b),tt(!1),j(v),a&&u({time:Date.now()-l})}}function jt(e){n(0===t.derivationStack.length,"It is not allowed to set `useStrict` when a derivation is running"),t.strictMode=e,t.allowStateChanges=!e}function qe(e,t){var n=B(e),r=t();return $(n),r}function B(e){var n=t.allowStateChanges;return t.allowStateChanges=e,n}function $(e){t.allowStateChanges=e}function nt(e){n(e.isDirty,"atom not dirty"),e.isDirty=!1,le(e,!0)}function ie(){return t.derivationStack.length>0}function X(){t.allowStateChanges||n(!1,t.strictMode?"It is not allowed to create or change state outside an `action` when MobX is in strict mode. Wrap the current method in `action` if this state change is intended":"It is not allowed to change the state when a computed value or transformer is being evaluated. Use 'autorun' to create reactive functions with side-effects.")}function kt(e){1===++e.dependencyStaleCount&&$e(e)}function St(e,t){if(n(e.dependencyStaleCount>0,"unexpected ready notification"),t&&(e.dependencyChangeCount+=1),0===--e.dependencyStaleCount)if(e.dependencyChangeCount>0){e.dependencyChangeCount=0;var r=e.onDependenciesReady();le(e,r)}else le(e,!1)}function xe(e,o){var n=!0,a=e.observing;e.observing=[],t.derivationStack.push(e);var s=t.isTracking;t.isTracking=!0;try{var u=o.call(e);return n=!1,t.isTracking=s,_t(e,a),u}finally{if(n){var r="[mobx] An uncaught exception occurred while calculating your computed value, autorun or transformer. Or inside the render() method of an observer based React component. These functions should never throw exceptions as MobX will not always be able to recover from them. "+("Please fix the error reported after this message or enable 'Pause on (caught) exceptions' in your debugger to find the root cause. In: '"+e.name+"'");i()&&S({type:"error",object:this,message:r}),console.warn(r),ee()}}}function _t(n,s){t.derivationStack.length-=1;for(var i=Ce(n.observing,s),r=i[0],o=i[1],e=0,a=r.length;a>e;e++){r[e];wt(r[e],n)}for(var e=0,a=o.length;a>e;e++)ue(o[e],n)}function Oe(e){var t=k(),n=e();return j(t),n}function k(){var e=t.isTracking;return t.isTracking=!1,e}function j(e){t.isTracking=e}function xt(){}function ee(){t.resetId++;var n=new at;for(var e in n)-1===Rt.indexOf(e)&&(t[e]=n[e]);t.allowStateChanges=!t.strictMode}function wt(e,r){var t=e.observers,n=t.length;t[n]=r,0===n&&e.onBecomeObserved()}function ue(t,r){var e=t.observers,n=e.indexOf(r);-1!==n&&e.splice(n,1),0===e.length&&t.onBecomeUnobserved()}function Te(n){if(t.isTracking!==!1){var i=t.derivationStack,e=i[i.length-1].observing,r=e.length;e[r-1]!==n&&e[r-2]!==n&&(e[r]=n)}}function $e(e){var t=e.observers.slice();t.forEach(kt),e.staleObservers=e.staleObservers.concat(t)}function le(e,t){e.staleObservers.splice(0).forEach(function(e){return St(e,t)})}function be(){if(!(t.isRunningReactions===!0||t.inTransaction>0)){t.isRunningReactions=!0;for(var e=t.pendingReactions,i=0;e.length>0;){if(++i===At)throw new Error("Reaction doesn't converge to a stable state. Probably there is a cycle in the reactive function: "+e[0].toString());for(var r=e.splice(0),n=0,o=r.length;o>n;n++)r[n].runReaction()}t.isRunningReactions=!1}}function i(){return K}function S(r){if(!K)return!1;for(var n=t.spyListeners,e=0,i=n.length;i>e;e++)n[e](r)}function c(e){var t=st({},e,{spyReportStart:!0});S(t)}function u(e){S(e?st({},e,Ae):Ae)}function Qe(e){return t.spyListeners.push(e),K=t.spyListeners.length>0,q(function(){var n=t.spyListeners.indexOf(e);-1!==n&&t.spyListeners.splice(n,1),K=t.spyListeners.length>0})}function mt(e){return a("trackTransitions is deprecated. Use mobx.spy instead"),"boolean"==typeof e&&(a("trackTransitions only takes a single callback function. If you are using the mobx-react-devtools, please update them first"),e=arguments[1]),e?Qe(e):(a("trackTransitions without callback has been deprecated and is a no-op now. If you are using the mobx-react-devtools, please update them first"),function(){})}function D(n,e,t){void 0===e&&(e=void 0),void 0===t&&(t=!0),et(n.name||"anonymous transaction",e,t);var r=n.call(e);return tt(t),r}function et(r,e,n){void 0===e&&(e=void 0),void 0===n&&(n=!0),t.inTransaction+=1,n&&i()&&c({type:"transaction",target:e,name:r})}function tt(e){if(void 0===e&&(e=!0),0===--t.inTransaction){for(var r=t.changedAtoms.splice(0),n=0,o=r.length;o>n;n++)nt(r[n]);be()}e&&i()&&u()}function _(e){return e.interceptors&&e.interceptors.length>0}function G(t,n){var e=t.interceptors||(t.interceptors=[]);return e.push(n),q(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function x(i,e){for(var o=k(),r=i.interceptors,t=0,a=r.length;a>t;t++)if(e=r[t](e),n(!e||e.type,"Intercept handlers should return nothing or a change object"),!e)return null;return j(o),e}function h(e){return e.changeListeners&&e.changeListeners.length>0}function Q(t,n){var e=t.changeListeners||(t.changeListeners=[]);return e.push(n),q(function(){var t=e.indexOf(n);-1!==t&&e.splice(t,1)})}function v(r,n){var i=k(),e=r.changeListeners;if(e){e=e.slice();for(var t=0,o=e.length;o>t;t++)Array.isArray(n)?e[t].apply(null,n):e[t](n);j(i)}}function me(e){return new re(e)}function we(e){return new W(e)}function Re(e){return new he(e)}function vt(e,t){return Me(e,t)}function M(e,t){return e instanceof re?[r.Reference,e.value]:e instanceof W?[r.Structure,e.value]:e instanceof he?[r.Flat,e.value]:[t,e]}function Yt(e){return e===me?r.Reference:e===we?r.Structure:e===Re?r.Flat:(n(void 0===e,"Cannot determine value mode from function. Please pass in one of these: mobx.asReference, mobx.asStructure or mobx.asFlat, got: "+e),r.Recursive)}function J(e,a,o){var t;if(N(e))return e;switch(a){case r.Reference:return e;case r.Flat:f(e,"Items inside 'asFlat' cannot have modifiers"),t=r.Reference;break;case r.Structure:f(e,"Items inside 'asStructure' cannot have modifiers"),t=r.Structure;break;case r.Recursive:i=M(e,r.Recursive),t=i[0],e=i[1];break;default:n(!1,"Illegal State")}return Array.isArray(e)?Pe(e,t,o):w(e)&&Object.isExtensible(e)?it(e,e,t,o):e;var i}function f(e,t){if(e instanceof re||e instanceof W||e instanceof he)throw new Error("[mobx] asStructure / asReference / asFlat cannot be used here. "+t)}function dt(e){var t=Ee(e),n=Ve(e);Object.defineProperty(p.prototype,""+e,{enumerable:!1,configurable:!0,set:t,get:n})}function Ee(e){return function(t){var n=this.$mobx,i=n.values;if(f(t,"Modifiers cannot be used on array values. For non-reactive array values use makeReactive(asFlat(array))."),e<i.length){X();var o=i[e];if(_(n)){var a=x(n,{type:"update",object:n.array,index:e,newValue:t});if(!a)return;t=a.newValue}t=n.makeReactiveArrayItem(t);var s=n.mode===r.Structure?!z(o,t):o!==t;s&&(i[e]=t,n.notifyArrayChildUpdate(e,t,o))}else{if(e!==i.length)throw new Error("[mobx.array] Index out of bounds, "+e+" is larger than "+i.length);n.spliceWithArray(e,0,[t])}}}function Ve(e){return function(){var t=this.$mobx;return t&&e<t.values.length?(t.atom.reportObserved(),t.values[e]):void console.warn("[mobx.array] Attempt to read an array index ("+e+") that is out of bounds ("+t.values.length+"). Please check length first. Out of bound indices will not be tracked by MobX")}}function De(t){for(var e=ye;t>e;e++)dt(e);ye=t}function Pe(e,t,n){return new p(e,t,n)}function ht(e){return a("fastArray is deprecated. Please use `observable(asFlat([]))`"),Pe(e,r.Flat,null)}function U(e){return e instanceof p}function Me(e,t){return new E(e,t)}function F(e){return e instanceof E}function oe(e,t,n){if(void 0===n&&(n=r.Recursive),y(e))return e.$mobx;w(e)||(t=e.constructor.name+"@"+s()),t||(t="ObservableObject@"+s());var i=new ot(e,t,n);return Object.defineProperty(e,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:i}),i}function pt(e,t,n){e.values[t]?e.target[t]=n:ae(e,t,n,!0)}function ae(t,n,e,a){a&&Fe(t.target,n);var r,i=t.name+"."+n,o=!0;if("function"!=typeof e||0!==e.length||Ne(e))if(e instanceof W&&"function"==typeof e.value&&0===e.value.length)r=new g(e.value,t.target,!0,i);else{if(o=!1,_(t)){var s=x(t,{object:t.target,name:n,type:"add",newValue:e});if(!s)return;e=s.newValue}r=new I(e,t.mode,i,!1),e=r.value}else r=new g(e,t.target,!1,i);t.values[n]=r,a&&Object.defineProperty(t.target,n,o?lt(n):ft(n)),o||ct(t,t.target,n,e)}function ft(e){var t=Ye[e];return t?t:Ye[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){Ge(this,e,t)}}}function lt(e){var t=Xe[e];return t?t:Xe[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:Ie}}function Ge(r,o,e){var t=r.$mobx,a=t.values[o];if(_(t)){var n=x(t,{type:"update",object:r,name:o,newValue:e});if(!n)return;e=n.newValue}if(e=a.prepareNewValue(e),e!==L){var l=h(t),s=i(),n=v||h?{type:"update",object:r,oldValue:a.value,name:o,newValue:e}:null;s&&c(n),a.setNewValue(e),l&&v(t,n),s&&u()}}function ct(t,o,a,s){var n=h(t),e=i(),r=n||e?{type:"add",object:o,name:a,newValue:s}:null;e&&c(r),n&&v(t,r),e&&u()}function y(e){return"object"==typeof e&&null!==e?(P(e),e.$mobx instanceof ot):!1}function b(e,t){if("object"==typeof e&&null!==e){if(U(e))return n(void 0===t,"It is not possible to get index atoms from arrays"),e.$mobx.atom;if(F(e)){if(void 0===t)return b(e._keys);var r=e._data[t]||e._hasMap[t];return n(!!r,"the entry '"+t+"' does not exist in the observable map '"+fe(e)+"'"),r}if(P(e),y(e)){n(!!t,"please specify a property");var i=e.$mobx.values[t];return n(!!i,"no observable property '"+t+"' found on the observable object '"+fe(e)+"'"),i}if(e instanceof A||e instanceof g||e instanceof m)return e}else if("function"==typeof e&&e.$mobx instanceof m)return e.$mobx;n(!1,"Cannot obtain atom from "+e)}function d(e,t){return n(e,"Expection some object"),void 0!==t?d(b(e,t)):e instanceof A||e instanceof g||e instanceof m?e:F(e)?e:(P(e),e.$mobx?e.$mobx:void n(!1,"Cannot obtain administration from "+e))}function fe(e,t){var n;return n=void 0!==t?b(e,t):y(e)||F(e)?d(e):b(e),n.name}function pe(e,r,i,o,a){function t(s,t,u,l){if(n(a||Ze(arguments),"This function is a decorator, but it wasn't invoked like a decorator"),u){s.hasOwnProperty("__mobxLazyInitializers")||Object.defineProperty(s,"__mobxLazyInitializers",{writable:!1,configurable:!1,enumerable:!1,value:s.__mobxLazyInitializers&&s.__mobxLazyInitializers.slice()||[]});var p=u.value,f=u.initializer;return s.__mobxLazyInitializers.push(function(n){e(n,t,f?f.call(n):p,l,u)}),{enumerable:o,configurable:!0,get:function(){return this.__mobxDidRunLazyInitializers!==!0&&P(this),r.call(this,t)},set:function(e){this.__mobxDidRunLazyInitializers!==!0&&P(this),i.call(this,t,e)}}}var c={enumerable:o,configurable:!0,get:function(){return this.__mobxInitializedProps&&this.__mobxInitializedProps[t]===!0||He(this,t,void 0,e,l,c),r.call(this,t)},set:function(n){this.__mobxInitializedProps&&this.__mobxInitializedProps[t]===!0?i.call(this,t,n):He(this,t,n,e,l,c)}};return arguments.length<3&&Object.defineProperty(s,t,c),c}return a?function(){if(Ze(arguments))return t.apply(null,arguments);var e=arguments;return function(n,r,i){return t(n,r,i,e)}}:t}function He(e,t,n,r,i,o){e.hasOwnProperty("__mobxInitializedProps")||Object.defineProperty(e,"__mobxInitializedProps",{enumerable:!1,configurable:!1,writable:!0,value:{}}),e.__mobxInitializedProps[t]=!0,r(e,t,n,i,o)}function P(e){e.__mobxDidRunLazyInitializers!==!0&&e.__mobxLazyInitializers&&(Object.defineProperty(e,"__mobxDidRunLazyInitializers",{enumerable:!1,configurable:!1,writable:!1,value:!0}),e.__mobxDidRunLazyInitializers&&e.__mobxLazyInitializers.forEach(function(t){return t(e)}))}function Ze(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]}function s(){return++t.mobxGuid}function n(t,n,e){if(!t)throw new Error("[mobx] Invariant failed: "+n+(e?" in '"+e+"'":""))}function a(e){-1===rt.indexOf(e)&&(rt.push(e),console.error("[mobx] Deprecated: "+e))}function q(t){var e=!1;return function(){return e?void 0:(e=!0,t.apply(this,arguments))}}function V(t){var e=[];return t.forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),e}function ge(t,e,n){if(void 0===e&&(e=100),void 0===n&&(n=" - "),!t)return"";var r=t.slice(0,e);return""+r.join(n)+(t.length>e?" (... and "+(t.length-e)+"more)":"")}function w(e){return null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype}function st(){for(var r=arguments[0],e=1,i=arguments.length;i>e;e++){var t=arguments[e];for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n])}return r}function se(n,e,t){return n?!z(e,t):e!==t}function Ct(n,t){for(var e=0;e<t.length;e++)Object.defineProperty(n,t[e],{configurable:!0,writable:!0,enumerable:!1,value:n[t[e]]})}function Je(t,n){var e=Object.getOwnPropertyDescriptor(t,n);return!e||e.configurable!==!1&&e.writable!==!1}function Fe(t,e){n(Je(t,e),"Cannot make property '"+e+"' observable, it is not configurable and writable in the target object")}function ze(t){var e=[];for(var n in t)e.push(n);return e}function z(e,t){if(null===e&&null===t)return!0;if(void 0===e&&void 0===t)return!0;var i=Array.isArray(e)||U(e);if(i!==(Array.isArray(t)||U(t)))return!1;if(i){if(e.length!==t.length)return!1;for(var n=e.length-1;n>=0;n--)if(!z(e[n],t[n]))return!1;return!0}if("object"==typeof e&&"object"==typeof t){if(null===e||null===t)return!1;if(ze(e).length!==ze(t).length)return!1;for(var r in e){if(!(r in t))return!1;if(!z(e[r],t[r]))return!1}return!0}return e===t}function Ce(n,r){if(!r||!r.length)return[n,[]];if(!n||!n.length)return[[],r];for(var a=[],s=[],e=0,i=0,p=n.length,c=!1,t=0,o=0,l=r.length,u=!1,f=!1;!f&&!c;){if(!u){if(p>e&&l>t&&n[e]===r[t]){if(e++,t++,e===p&&t===l)return[a,s];continue}i=e,o=t,u=!0}o+=1,i+=1,o>=l&&(f=!0),i>=p&&(c=!0),c||n[i]!==r[t]?f||r[o]!==n[e]||(s=s.concat(r.slice(t,o)),t=o+1,e++,u=!1):(a=a.concat(n.slice(e,i)),e=i+1,t++,u=!1)}return[a.concat(n.slice(e)),s.concat(r.slice(t))]}var H=this&&this.__extends||function(t,e){function r(){this.constructor=t}for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};xt(),e.extras={allowStateChanges:qe,getAtom:b,getDebugName:fe,getDependencyTree:Jt,getObserverTree:Ft,isComputingDerivation:ie,isSpyEnabled:i,resetGlobalState:ee,spyReport:S,spyReportEnd:u,spyReportStart:c,trackTransitions:mt},e._={getAdministration:d,quickDiff:Ce,resetGlobalState:ee},e.autorun=Z,e.when=Be,e.autorunUntil=Ht,e.autorunAsync=Xt,e.reaction=Qt;var bt=pe(function(o,a,c,e,s){var t=s.get;n("function"==typeof t,"@computed can only be used on getter functions, like: '@computed get myProps() { return ...; }'");var i=!1;e&&1===e.length&&e[0].asStructure===!0&&(i=!0);var u=oe(o,void 0,r.Recursive);ae(u,a,i?we(t):t,!1)},function(e){return this.$mobx.values[e].get()},Ie,!1,!0);e.computed=ve,e.createTransformer=Kt,e.expr=Gt,e.extendObservable=ce,e.intercept=Nt,e.isObservable=N;var yt=pe(function(t,n,e){var i=B(!0);"function"==typeof e&&(e=me(e));var o=oe(t,void 0,r.Recursive);ae(o,n,e,!0),$(i)},function(e){return this.$mobx.values[e].get()},function(e,t){Ge(this,e,t)},!0,!1);e.observable=de;var o;!function(e){e[e.Reference=0]="Reference",e[e.PlainObject=1]="PlainObject",e[e.ComplexObject=2]="ComplexObject",e[e.Array=3]="Array",e[e.ViewFunction=4]="ViewFunction",e[e.ComplexFunction=5]="ComplexFunction"}(o||(o={})),e.observe=Dt,e.toJS=R,e.toJSON=Et,e.whyRun=ut;var gt=pe(function(r,t,n,e,a){var i=e&&1===e.length?e[0]:n.name||t||"<unnamed action>",o=te(i,n);Object.defineProperty(r,t,{configurable:!0,enumerable:!1,writable:!1,value:o})},function(e){return this[e]},function(){n(!1,"It is not allowed to assign new values to @action fields")},!1,!0);e.action=te,e.isAction=Ne,e.runInAction=It,e.useStrict=jt;var A=function(){function e(e,t,n){void 0===e&&(e="Atom@"+s()),void 0===t&&(t=ke),void 0===n&&(n=ke),this.name=e,this.onBecomeObserved=t,this.onBecomeUnobserved=n,this.isDirty=!1,this.staleObservers=[],this.observers=[]}return e.prototype.reportObserved=function(){Te(this)},e.prototype.reportChanged=function(){this.isDirty||(this.reportStale(),this.reportReady())},e.prototype.reportStale=function(){this.isDirty||(this.isDirty=!0,$e(this))},e.prototype.reportReady=function(){n(this.isDirty,"atom not dirty"),t.inTransaction>0?t.changedAtoms.push(this):(nt(this),be())},e.prototype.toString=function(){return this.name},e}();e.Atom=A;var l,g=function(){function e(e,t,n,r){this.derivation=e,this.scope=t,this.compareStructural=n,this.isLazy=!0,this.isComputing=!1,this.staleObservers=[],this.observers=[],this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.value=void 0,this.name=r||"ComputedValue@"+s()}return e.prototype.peek=function(){this.isComputing=!0;var e=B(!1),t=this.derivation.call(this.scope);return $(e),this.isComputing=!1,t},e.prototype.onBecomeObserved=function(){},e.prototype.onBecomeUnobserved=function(){for(var e=0,t=this.observing.length;t>e;e++)ue(this.observing[e],this);this.observing=[],this.isLazy=!0,this.value=void 0},e.prototype.onDependenciesReady=function(){var e=this.trackAndCompute();return e},e.prototype.get=function(){if(n(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),Te(this),this.dependencyStaleCount>0)return this.peek();if(this.isLazy){if(!ie())return this.peek();this.isLazy=!1,this.trackAndCompute()}return this.value},e.prototype.set=function(e){throw new Error("[ComputedValue '"+name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){i()&&S({object:this,type:"compute",fn:this.derivation,target:this.scope});var e=this.value,t=this.value=xe(this,this.peek);return se(this.compareStructural,t,e)},e.prototype.observe=function(n,r){var i=this,e=!0,t=void 0;return Z(function(){var o=i.get();if(!e||r){var a=k();n(o,t),j(a)}e=!1,t=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.whyRun=function(){var n=t.derivationStack.length>0,o=V(this.observing).map(function(e){return e.name}),r=V(this.observers).map(function(e){return e.name}),e=this.isComputing?n?this.observers.length>0?l.INVALIDATED:l.REQUIRED:l.PEEK:l.NOT_RUNNING;if(e===l.REQUIRED){var i=t.derivationStack[t.derivationStack.length-2];i&&r.push(i.name)}return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+Ot[e]+" "+(e===l.NOT_RUNNING&&this.dependencyStaleCount>0?"(a next run is scheduled)":"")+"\n"+(this.isLazy?" * This computation is suspended (not in use by any reaction) and won't run automatically.\n Didn't expect this computation to be suspended at this point?\n 1. Make sure this computation is used by a reaction (reaction, autorun, observer).\n 2. Check whether you are using this computation synchronously (in the same stack as they reaction that needs it).\n":" * This computation will re-run if any of the following observables changes:\n "+ge(o)+"\n "+(this.isComputing&&n?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n * If the outcome of this computation changes, the following observers will be re-run:\n "+ge(r)+"\n")},e}();!function(e){e[e.PEEK=0]="PEEK",e[e.INVALIDATED=1]="INVALIDATED",e[e.REQUIRED=2]="REQUIRED",e[e.NOT_RUNNING=3]="NOT_RUNNING"}(l||(l={}));var Ot=(C={},C[l.PEEK]="[peek] The value of this computed value was requested outside an reaction",C[l.INVALIDATED]="[invalidated] Some observables used by this computation did change",C[l.REQUIRED]="[started] This computation is required by another computed value / reaction",C[l.NOT_RUNNING]="[idle] This compution is currently not running",C);e.untracked=Oe;var Rt=["mobxGuid","resetId","spyListeners","strictMode"],at=function(){function e(){this.version=2,this.derivationStack=[],this.mobxGuid=0,this.inTransaction=0,this.isTracking=!1,this.isRunningReactions=!1,this.changedAtoms=[],this.pendingReactions=[],this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[]}return e}(),t=function(){var e=new at;if(O.__mobservableTrackingStack||O.__mobservableViewStack)throw new Error("[mobx] An incompatible version of mobservable is already loaded.");if(O.__mobxGlobal&&O.__mobxGlobal.version!==e.version)throw new Error("[mobx] An incompatible version of mobx is already loaded.");return O.__mobxGlobal?O.__mobxGlobal:O.__mobxGlobal=e}(),m=function(){function e(e,t){void 0===e&&(e="Reaction@"+s()),this.name=e,this.onInvalidate=t,this.staleObservers=T,this.observers=T,this.observing=[],this.dependencyChangeCount=0,this.dependencyStaleCount=0,this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeObserved=function(){},e.prototype.onBecomeUnobserved=function(){},e.prototype.onDependenciesReady=function(){return this.schedule(),!1},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,t.pendingReactions.push(this),be())},e.prototype.isScheduled=function(){return this.dependencyStaleCount>0||this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(this._isScheduled=!1,this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&i()&&S({object:this,type:"scheduled-reaction"}))},e.prototype.track=function(e){var t,n=i();n&&(t=Date.now(),c({object:this,type:"reaction",fn:e})),this._isRunning=!0,xe(this,e),this._isRunning=!1,this._isTrackPending=!1,n&&u({time:Date.now()-t})},e.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var t=this.observing.splice(0),e=0,n=t.length;n>e;e++)ue(t[e],this)}},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.whyRun=function(){var e=V(this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+ge(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n Missing items in this list?\n 1. Check whether all used values are properly marked as observable (use isObservable to verify)\n 2. Make sure you didn't dereference values too early. MobX observes props, not primitives. E.g: use 'person.name' instead of 'name' in your computation.\n";
},e}();e.Reaction=m;var At=100,K=!1,Ae={spyReportEnd:!0};e.spy=Qe,e.transaction=D;var r;!function(e){e[e.Recursive=0]="Recursive",e[e.Reference=1]="Reference",e[e.Structure=2]="Structure",e[e.Flat=3]="Flat"}(r||(r={})),e.asReference=me,e.asStructure=we,e.asFlat=Re;var re=function(){function e(e){this.value=e,f(e,"Modifiers are not allowed to be nested")}return e}(),W=function(){function e(e){this.value=e,f(e,"Modifiers are not allowed to be nested")}return e}(),he=function(){function e(e){this.value=e,f(e,"Modifiers are not allowed to be nested")}return e}();e.asMap=vt;var Lt=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ye=0,Ue=function(){function e(){}return e}();Ue.prototype=[];var $t=function(){function e(e,t,n,r){this.mode=t,this.array=n,this.owned=r,this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new A(e||"ObservableArray@"+s())}return e.prototype.makeReactiveArrayItem=function(e){return f(e,"Array values cannot have modifiers"),this.mode===r.Flat||this.mode===r.Reference?e:J(e,this.mode,this.atom.name+"[..]")},e.prototype.intercept=function(e){return G(this,e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),e&&t({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),Q(this,t)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||0>e)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;e!==t&&(e>t?this.spliceWithArray(t,0,new Array(e-t)):this.spliceWithArray(e,t-e))},e.prototype.updateArrayLength=function(t,e){if(t!==this.lastKnownLength)throw new Error("[mobx] Modification exception: the internal structure of an observable array was changed. Did you use peek() to change it?");this.lastKnownLength+=e,e>0&&t+e+1>ye&&De(t+e+1)},e.prototype.spliceWithArray=function(e,n,t){X();var r=this.values.length;if(void 0===e?e=0:e>r?e=r:0>e&&(e=Math.max(0,r+e)),n=1===arguments.length?r-e:void 0===n||null===n?0:Math.max(0,Math.min(n,r-e)),void 0===t&&(t=[]),_(this)){var i=x(this,{object:this.array,type:"splice",index:e,removedCount:n,added:t});if(!i)return T;n=i.removedCount,t=i.added}t=t.map(this.makeReactiveArrayItem,this);var s=t.length-n;this.updateArrayLength(r,s);var o=(a=this.values).splice.apply(a,[e,n].concat(t));return(0!==n||0!==t.length)&&this.notifyArraySplice(e,t,o),o;var a},e.prototype.notifyArrayChildUpdate=function(r,o,a){var e=!this.owned&&i(),t=h(this),n=t||e?{object:this.array,type:"update",index:r,newValue:o,oldValue:a}:null;e&&c(n),this.atom.reportChanged(),t&&v(this,n),e&&u()},e.prototype.notifyArraySplice=function(a,t,n){var e=!this.owned&&i(),r=h(this),o=r||e?{object:this.array,type:"splice",index:a,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;e&&c(o),this.atom.reportChanged(),r&&v(this,o),e&&u()},e}(),p=function(t){function e(n,i,o,r){void 0===r&&(r=!1),t.call(this);var e=new $t(o,i,this,r);Object.defineProperty(this,"$mobx",{enumerable:!1,configurable:!1,writable:!1,value:e}),n&&n.length?(e.updateArrayLength(0,n.length),e.values=n.map(e.makeReactiveArrayItem,e),e.notifyArraySplice(0,e.values.slice(),T)):e.values=[],Lt&&0===n.length&&Object.defineProperty(e.array,"0",zt)}return H(e,t),e.prototype.intercept=function(e){return this.$mobx.intercept(e)},e.prototype.observe=function(t,e){return void 0===e&&(e=!1),this.$mobx.observe(t,e)},e.prototype.clear=function(){return this.splice(0)},e.prototype.replace=function(e){return this.$mobx.spliceWithArray(0,this.$mobx.values.length,e)},e.prototype.toJS=function(){return this.slice()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.peek=function(){return this.$mobx.values},e.prototype.find=function(r,i,t){void 0===t&&(t=0),this.$mobx.atom.reportObserved();for(var n=this.$mobx.values,o=n.length,e=t;o>e;e++)if(r.call(i,n[e],e,this))return n[e]},e.prototype.splice=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];switch(arguments.length){case 0:return[];case 1:return this.$mobx.spliceWithArray(t);case 2:return this.$mobx.spliceWithArray(t,n)}return this.$mobx.spliceWithArray(t,n,r)},e.prototype.push=function(){for(var n=[],e=0;e<arguments.length;e++)n[e-0]=arguments[e];var t=this.$mobx;return t.spliceWithArray(t.values.length,0,n),t.values.length},e.prototype.pop=function(){return this.splice(Math.max(this.$mobx.values.length-1,0),1)[0]},e.prototype.shift=function(){return this.splice(0,1)[0]},e.prototype.unshift=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=this.$mobx;return n.spliceWithArray(0,0,t),n.values.length},e.prototype.reverse=function(){this.$mobx.atom.reportObserved();var e=this.slice();return e.reverse.apply(e,arguments)},e.prototype.sort=function(t){this.$mobx.atom.reportObserved();var e=this.slice();return e.sort.apply(e,arguments)},e.prototype.remove=function(t){var e=this.$mobx.values.indexOf(t);return e>-1?(this.splice(e,1),!0):!1},e.prototype.toString=function(){return"[mobx.array] "+Array.prototype.toString.apply(this.$mobx.values,arguments)},e.prototype.toLocaleString=function(){return"[mobx.array] "+Array.prototype.toLocaleString.apply(this.$mobx.values,arguments)},e}(Ue);Ct(p.prototype,["constructor","observe","clear","replace","toJSON","peek","find","splice","push","pop","shift","unshift","reverse","sort","remove","toString","toLocaleString"]),Object.defineProperty(p.prototype,"length",{enumerable:!1,configurable:!0,get:function(){return this.$mobx.getArrayLength()},set:function(e){this.$mobx.setArrayLength(e)}}),["concat","every","filter","forEach","indexOf","join","lastIndexOf","map","reduce","reduceRight","slice","some"].forEach(function(e){var t=Array.prototype[e];Object.defineProperty(p.prototype,e,{configurable:!1,writable:!0,enumerable:!1,value:function(){return this.$mobx.atom.reportObserved(),t.apply(this.$mobx.values,arguments)}})});var zt={enumerable:!1,configurable:!0,set:Ee(0),get:Ve(0)};De(1e3),e.fastArray=ht,e.isObservableArray=U;var Ut={},E=function(){function e(e,n){var t=this;this.$mobx=Ut,this._data={},this._hasMap={},this.name="ObservableMap@"+s(),this._keys=new p(null,r.Reference,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this._valueMode=Yt(n),this._valueMode===r.Flat&&(this._valueMode=r.Reference),qe(!0,function(){w(e)?t.merge(e):Array.isArray(e)&&e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)})})}return e.prototype._has=function(e){return"undefined"!=typeof this._data[e]},e.prototype.has=function(e){return this.isValidKey(e)?(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get()):!1},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(f(t,"[mobx.map.set] Expected unwrapped value to be inserted to key '"+e+"'. If you need to use modifiers pass them as second argument to the constructor"),_(this)){var r=x(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return;t=r.newValue}n?this._updateValue(e,t):this._addValue(e,t)},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,_(this)){var n=x(this,{type:"delete",object:this,name:e});if(!n)return}if(this._has(e)){var r=i(),o=h(this),n=o||r?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;r&&c(n),D(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1);var n=t._data[e];n.setNewValue(void 0),t._data[e]=void 0},void 0,!1),o&&v(this,n),r&&u()}},e.prototype._updateHasMapEntry=function(t,n){var e=this._hasMap[t];return e?e.setNewValue(n):e=this._hasMap[t]=new I(n,r.Reference,this.name+"."+t+"?",!1),e},e.prototype._updateValue=function(r,e){var t=this._data[r];if(e=t.prepareNewValue(e),e!==L){var n=i(),o=h(this),a=o||n?{type:"update",object:this,oldValue:t.value,name:r,newValue:e}:null;n&&c(a),t.setNewValue(e),o&&v(this,a),n&&u()}},e.prototype._addValue=function(e,n){var t=this;D(function(){var r=t._data[e]=new I(n,t._valueMode,t.name+"."+e,!1);n=r.value,t._updateHasMapEntry(e,!0),t._keys.push(e)},void 0,!1);var r=i(),o=h(this),a=o||r?{type:"add",object:this,name:e,newValue:n}:null;r&&c(a),o&&v(this,a),r&&u()},e.prototype.get=function(e){return e=""+e,this.has(e)?this._data[e].get():void 0},e.prototype.keys=function(){return this._keys.slice()},e.prototype.values=function(){return this.keys().map(this.get,this)},e.prototype.entries=function(){var e=this;return this.keys().map(function(t){return[t,e.get(t)]})},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r)})},e.prototype.merge=function(t){var n=this;return D(function(){t instanceof e?t.keys().forEach(function(e){return n.set(e,t.get(e))}):Object.keys(t).forEach(function(e){return n.set(e,t[e])})},void 0,!1),this},e.prototype.clear=function(){var e=this;D(function(){Oe(function(){e.keys().forEach(e.delete,e)})},void 0,!1)},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var t=this,e={};return this.keys().forEach(function(n){return e[n]=t.get(n)}),e},e.prototype.toJs=function(){return a("toJs is deprecated, use toJS instead"),this.toJS()},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null===e||void 0===e?!1:"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e?!1:!0},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"'")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,t){return n(t!==!0,"`observe` doesn't support the fire immediately property for observable maps."),Q(this,e)},e.prototype.intercept=function(e){return G(this,e)},e}();e.ObservableMap=E,e.map=Me,e.isObservableMap=F;var ot=function(){function e(e,t,n){this.target=e,this.name=t,this.mode=n,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return n(t!==!0,"`observe` doesn't support the fire immediately property for observable objects."),Q(this,e)},e.prototype.intercept=function(e){return G(this,e)},e}(),Ye={},Xe={};e.isObservableObject=y;var L={},I=function(t){function e(a,u,e,n){void 0===e&&(e="ObservableValue@"+s()),void 0===n&&(n=!0),t.call(this,e),this.mode=u,this.hasUnreportedChange=!1,this.value=void 0;var o=M(a,r.Recursive),c=o[0],l=o[1];this.mode===r.Recursive&&(this.mode=c),this.value=J(l,this.mode,this.name),n&&i()&&S({type:"create",object:this,newValue:this.value})}return H(e,t),e.prototype.set=function(e){var n=this.value;if(e=this.prepareNewValue(e),e!==L){var t=i();t&&c({type:"update",object:this,newValue:e,oldValue:n}),this.setNewValue(e),t&&u()}},e.prototype.prepareNewValue=function(e){if(f(e,"Modifiers cannot be used on non-initial values."),X(),_(this)){var t=x(this,{object:this,type:"update",newValue:e});if(!t)return L;e=t.newValue}var n=se(this.mode===r.Structure,this.value,e);return n?J(e,this.mode,this.name):L},e.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),h(this)&&v(this,[e,t])},e.prototype.get=function(){return this.reportObserved(),this.value},e.prototype.intercept=function(e){return G(this,e)},e.prototype.observe=function(e,t){return t&&e(this.value,void 0),Q(this,e)},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.value+"]"},e}(A),qt=function(){function e(){this.listeners=[],a("extras.SimpleEventEmitter is deprecated and will be removed in the next major release")}return e.prototype.emit=function(){for(var t=this.listeners.slice(),e=0,n=t.length;n>e;e++)t[e].apply(null,arguments)},e.prototype.on=function(e){var t=this;return this.listeners.push(e),q(function(){var n=t.listeners.indexOf(e);-1!==n&&t.listeners.splice(n,1)})},e.prototype.once=function(t){var e=this.on(function(){e(),t.apply(this,arguments)});return e},e}();e.SimpleEventEmitter=qt;var T=[];Object.freeze(T);var C,rt=[],ke=function(){}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});
//# sourceMappingURL=lib/mobx.umd.min.js.map
{
"name": "mobx",
"version": "2.3.3",
"version": "2.3.4-iosfix",
"description": "Simple, scalable state management.",

@@ -15,3 +15,6 @@ "main": "lib/mobx.js",

"small-build": "scripts/single-file-build.sh",
"test-browser": "npm run small-build && ( browserify test/*.js | tape-run )",
"test-browser-electron": "npm run small-build && ( browserify test/*.js | tape-run )",
"test-browser-chrome": "npm run small-build && ( browserify test/*.js | tape-run --browser chrome )",
"test-browser-safari": "npm run small-build && ( browserify test/*.js -t [ babelify --presets [ es2015 ] ] | tape-run --browser safari )",
"test-browser-firefox": "npm run small-build && ( browserify test/*.js | tape-run --browser firefox )",
"test-travis": "npm run small-build && tape test/*.js test/perf/index.js && tsc && istanbul cover tape test/*.js",

@@ -47,2 +50,3 @@ "coverage": "npm run small-build && npm run build-tests && istanbul cover tape test/*.js test/perf/index.js && cat ./coverage/lcov.info|coveralls",

"babel-preset-stage-1": "^6.3.13",
"babelify": "^7.3.0",
"browserify": "^12.0.1",

@@ -73,2 +77,2 @@ "coveralls": "^2.11.4",

]
}
}

@@ -19,3 +19,6 @@ <img src="docs/mobx.png" alt="logo" height="120" align="right" />

* [Transparent Reactive Programming and Mutable Data, Reactive2015 conf](https://www.youtube.com/watch?v=FEwLwiizlk0) ([slides](https://speakerdeck.com/mweststrate/react-transparent-reactive-programming-and-mutable-data-structures))
* More tutorials, blogs and videos can be found on the [MobX homepage](http://mobxjs.github.io/mobx/faq/blogs.html)
* [Boilerplates and related projects](http://mobxjs.github.io/mobx/faq/related.html)
## Introduction

@@ -52,3 +55,3 @@

Using `@observable` is like turning a value into a spreadsheet cell. But unlike spreadsheets, these values can be not just primitive values, but references, objects and arrays as well. You can even [define your own](http://mobxjs.github.io/mobx/refguide/extending.html) observable data sources.
Using `@observable` is like turning a value into a spreadsheet cell. But unlike spreadsheets, not only can these values be primitive values, but references, objects and arrays as well. You can even [define your own](http://mobxjs.github.io/mobx/refguide/extending.html) observable data sources.

@@ -205,45 +208,7 @@ ### Computed values

### Get Started
* [MobX homepage](http://mobxjs.github.io/mobx/faq/blogs.html)
* [API overview](http://mobxjs.github.io/mobx/refguide/api.html)
* [Tutorials, Blogs & Videos](http://mobxjs.github.io/mobx/faq/blogs.html)
* [Boilerplate and related projects](http://mobxjs.github.io/mobx/faq/related.html)
* [Getting Started](https://mobxjs.github.io/mobx/getting-started.html) Ten minute, interactive introduction (with just ES5)
* [Full API documentation](http://mobxjs.github.io/mobx/)
* [react-mobservable-boilerplate](https://github.com/mweststrate/react-mobservable-boilerplate) Clone the boilerplate repository containing the above example
* [MobX Github](https://github.com/mobxjs) Further boilerplate and example projects for ES5, Babel and Typescript can be found in the organization on github
### Blogs & Videos
* [Screencast: intro to MobX](https://www.youtube.com/watch?v=K8dr8BMU7-8) State Management Is Easy, React Amsterdam 2016 conf (coming soon) ([slides](https://speakerdeck.com/mweststrate/state-management-is-easy-introduction-to-mobx))
* [Reactive 2015 Conference](https://www.youtube.com/watch?v=FEwLwiizlk0) Talk on MobX (mobservable): React, transparent reactive programming and mutable data structures ([slides](https://speakerdeck.com/mweststrate/react-transparent-reactive-programming-and-mutable-data-structures))
* [Making React reactive: the pursuit of high performing, easily maintainable React apps](https://www.mendix.com/tech-blog/making-react-reactive-pursuit-high-performing-easily-maintainable-react-apps/)
* [Becoming fully reactive: an in-depth explanation of MobX](https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.a2j1rww8g)
* [Pure rendering in the light of time and state](https://medium.com/@mweststrate/pure-rendering-in-the-light-of-time-and-state-4b537d8d40b1)
* [MobX Interview](http://survivejs.com/blog/mobx-interview/) SurviveJS interview on MobX, React and Flux
### Related projects
* [mobx-connect](https://github.com/nightwolfz/mobx-connect) MobX @connect decorator for react components. Similar to redux's @connect.
* [rfx-stack](https://github.com/foxhound87/rfx-stack) RFX Stack - Universal App featuring: React + Feathers + MobX
* [mobx-reactor](https://github.com/amsb/mobx-reactor) Connect MobX data stores to functional stateless React components with async actions and unidirectional data flow.
* [mobx-model](https://github.com/ikido/mobx-model) Simplify mobx data stores that mimic backend models
* [rx-mobx](https://github.com/chicoxyzzy/rx-mobx) Convert Mobx observables to RxJS and vice versa
* [mobx-store](https://github.com/AriaFallah/mobx-store) A lowdb inspired data store with declarative querying, observable state, and easy undo/redo.
* [reaxor](https://github.com/KadoBOT/reaxor) Boilerplate for better state management, styling, testing and cleaner code
* [Smalldots MobX Store](https://github.com/smalldots/mobx-store) Store API for MobX
* [mobx-roof](https://github.com/mobx-roof/mobx-roof) Simple, React MVVM framework based on mobx
_Feel free to create a PR to add your own!_
### More examples
* [mobx-react-todomvc](https://github.com/mobxjs/mobx-react-todomvc) TodoMVC reference implementation on top of react-mobx-boilerplate
* [mobx-react-typescript](https://github.com/contacts-mvc/mobx-react-typescript) An example project using Typescript
* [ts-mobx-react-starter-kit](https://github.com/Torwori/ts-mobx-react-starter-kit) A starter kit using Typescript
* [TodoMVC Benchmarking](https://github.com/mweststrate/mobx-todomvc)
* [mobservable-demo](https://github.com/survivejs/mobservable-demo) The ports of the _Notes_ and _Kanban_ examples from the book "SurviveJS - Webpack and React" to mobservable.
* [react-particles-experiment](https://github.com/mobxjs/react-particles-experiment) MobX port of React-Particles-Experiment, showing MobX + Flux action dispatching
* A simple webshop using [React + mobx](https://jsfiddle.net/mweststrate/46vL0phw) or [JQuery + mobx](http://jsfiddle.net/mweststrate/vxn7qgdw).
* [Simple timer](https://jsfiddle.net/mweststrate/wgbe4guu/) application in JSFiddle.
* [Google Play Music Desktop Remote](https://github.com/GPMDP/google-play-music-desktop-remote) A React-Native app for remote controlling Google Play Music Desktop: MobX + WebSocket.
* [React Portal](https://github.com/vinej/react-portal) A Dashboard example created with React/Mobx with a Flux pattern inspired by Redux.
## What others are saying...

@@ -263,7 +228,5 @@

More testimonials from people using MobX in production can be found on [medium: functional reactive flux blog](https://medium.com/@kenneth_chau/the-2-fundamental-laws-of-flux-and-the-functional-reactive-flux-c9368ac008d3#.h41y0i22h), [hacker news](https://news.ycombinator.com/item?id=11181980), [reddit 1](https://www.reddit.com/r/reactjs/comments/46m2zg/has_anybody_used_mobservable_for_their_react/), [reddit 2](https://www.reddit.com/r/javascript/comments/47omi9/mobx_20_previously_mobservable_has_been_released/) or on twitter under the [#mobx](https://twitter.com/search?q=mobx&src=typd) tag.
## Contributing
* Feel free to send pull requests.
* Feel free to send small pull requests. Please discuss new features or big changes in a GitHub issue first.
* Use `npm test` to run the basic test suite, `npm run coverage` for the test suite with coverage and `npm run perf` for the performance tests.

@@ -270,0 +233,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc