Socket
Socket
Sign inDemoInstall

mobx

Package Overview
Dependencies
Maintainers
7
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 6.0.5 to 6.1.0

dist/types/actionannotation.d.ts

6

dist/api/action.d.ts

@@ -10,7 +10,4 @@ import { Annotation } from "../internal";

(customName: string): PropertyDecorator & Annotation;
bound: IBoundActionFactory;
bound: Annotation & PropertyDecorator;
}
interface IBoundActionFactory extends Annotation, PropertyDecorator {
(name: string): Annotation & PropertyDecorator;
}
export declare const action: IActionFactory;

@@ -20,2 +17,1 @@ export declare const autoAction: IActionFactory;

export declare function isAction(thing: any): boolean;
export {};

@@ -0,4 +1,8 @@

import { ObservableObjectAdministration } from "../internal";
export declare type Annotation = {
annotationType_: "observable" | "observable.ref" | "observable.shallow" | "observable.struct" | "computed" | "computed.struct" | "action" | "action.bound" | "autoAction" | "autoAction.bound" | "flow";
arg_?: any;
annotationType_: string;
make_(adm: ObservableObjectAdministration, key: PropertyKey): void;
extend_(adm: ObservableObjectAdministration, key: PropertyKey, descriptor: PropertyDescriptor, proxyTrap: boolean): boolean | null;
options_?: any;
isDecorator_?: boolean;
};

@@ -9,1 +13,14 @@ export declare type AnnotationMapEntry = Annotation | true | false;

} & Record<AdditionalFields, AnnotationMapEntry>;
/**
* Infers the best fitting annotation from property descriptor or false if the field shoudn't be annotated
* - getter(+setter) -> computed
* - setter w/o getter -> false (ignore)
* - flow -> false (ignore)
* - generator -> flow
* - action -> false (ignore)
* - function -> action (optionally bound)
* - other -> defaultAnnotation
*/
export declare function inferAnnotationFromDescriptor(desc: PropertyDescriptor, defaultAnnotation: Annotation, autoBind: boolean): Annotation | false;
export declare function isAnnotation(thing: any): boolean;
export declare function isAnnotationMapEntry(thing: any): boolean;

@@ -1,6 +0,17 @@

import { Annotation } from "../internal";
export declare const mobxDecoratorsSymbol: unique symbol;
export declare function createDecorator<ArgType>(type: Annotation["annotationType_"]): Annotation & PropertyDecorator & ((arg: ArgType) => PropertyDecorator & Annotation);
export declare function createDecoratorAndAnnotation(type: Annotation["annotationType_"], arg_?: any): PropertyDecorator & Annotation;
export declare function storeDecorator(target: any, property: PropertyKey, type: Annotation["annotationType_"], arg_?: any): void;
export declare function applyDecorators(target: Object): boolean;
import { Annotation, AnnotationsMap } from "../internal";
export declare const storedAnnotationsSymbol: unique symbol;
/**
* Creates a function that acts as
* - decorator
* - annotation object
*/
export declare function createDecoratorAnnotation(annotation: Annotation): PropertyDecorator & Annotation;
/**
* Stores annotation to prototype,
* so it can be inspected later by `makeObservable` called from constructor
*/
export declare function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation): void;
/**
* Collects annotations from prototypes and stores them on target (instance)
*/
export declare function collectStoredAnnotations(target: any): AnnotationsMap<any, any>;

@@ -7,3 +7,3 @@ import { IArrayWillChange, IArrayWillSplice, IInterceptor, IMapWillChange, IObjectWillChange, IObservableArray, IObservableValue, IValueWillChange, Lambda, ObservableMap, ObservableSet, ISetWillChange } from "../internal";

export declare function intercept<K, V>(observableMap: ObservableMap<K, V>, property: K, handler: IInterceptor<IValueWillChange<V>>): Lambda;
export declare function intercept(object: Object, handler: IInterceptor<IObjectWillChange>): Lambda;
export declare function intercept<T extends Object, K extends keyof T>(object: T, property: K, handler: IInterceptor<IValueWillChange<any>>): Lambda;
export declare function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda;
export declare function intercept<T extends object, K extends keyof T>(object: T, property: K, handler: IInterceptor<IValueWillChange<any>>): Lambda;

@@ -1,7 +0,5 @@

import { AnnotationsMap, Annotation, CreateObservableOptions, ObservableObjectAdministration } from "../internal";
export declare function makeProperty(adm: ObservableObjectAdministration, owner: Object, key: PropertyKey, descriptor: PropertyDescriptor, annotation: Annotation | boolean, forceCopy: boolean, // extend observable will copy even unannotated properties
autoBind: boolean): void;
import { AnnotationsMap, CreateObservableOptions } from "../internal";
declare type NoInfer<T> = [T][T extends any ? 0 : never];
export declare function makeObservable<T, AdditionalKeys extends PropertyKey = never>(target: T, annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: CreateObservableOptions): T;
export declare function makeAutoObservable<T extends Object, AdditionalKeys extends PropertyKey = never>(target: T, overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: CreateObservableOptions): T;
export declare function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: CreateObservableOptions): T;
export declare function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(target: T, overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>, options?: CreateObservableOptions): T;
export {};

@@ -16,3 +16,4 @@ import { IEnhancer, IEqualsComparer, IObservableArray, IObservableMapInitialValues, IObservableSetInitialValues, IObservableValue, ObservableMap, ObservableSet, Annotation, AnnotationsMap } from "../internal";

export declare function asCreateObservableOptions(thing: any): CreateObservableOptions;
export declare function getEnhancerFromOption(options: CreateObservableOptions): IEnhancer<any>;
export declare function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any>;
export declare function getAnnotationFromOptions(options?: CreateObservableOptions): Annotation | undefined;
export declare function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any>;

@@ -23,3 +24,3 @@ export interface IObservableFactory extends Annotation, PropertyDecorator {

<K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>;
<T extends Object>(value: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions): T;
<T extends object>(value: T, decorators?: AnnotationsMap<T, never>, options?: CreateObservableOptions): T;
box: <T = any>(value?: T, options?: CreateObservableOptions) => IObservableValue<T>;

@@ -26,0 +27,0 @@ array: <T = any>(initialValues?: T[], options?: CreateObservableOptions) => IObservableArray<T>;

declare const niceErrors: {
readonly 0: "Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'";
readonly 1: (prop: any) => string;
readonly 2: (prop: any) => string;
readonly 3: (prop: any) => string;
readonly 4: (prop: any) => string;
readonly 1: (annotationType: any, fieldName: any) => string;
readonly 5: "'keys()' can only be used on observable objects, arrays, sets and maps";

@@ -8,0 +5,0 @@ readonly 6: "'values()' can only be used on observable objects, arrays, sets and maps";

@@ -8,2 +8,7 @@ export * from "./utils/global";

export * from "./types/modifiers";
export * from "./types/overrideannotation";
export * from "./types/actionannotation";
export * from "./types/flowannotation";
export * from "./types/computedannotation";
export * from "./types/observableannotation";
export * from "./api/observable";

@@ -10,0 +15,0 @@ export * from "./api/computed";

@@ -1,2 +0,2 @@

function t(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function n(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:an}function i(){yn||t("Proxy not available")}function r(){return++Qn.mobxGuid}function e(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function o(t){return"function"==typeof t}function u(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function s(t){return null!==t&&"object"==typeof t}function c(t){var n;if(!s(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===mn}function a(t){var n=null==t?void 0:t.constructor;return!!n&&("GeneratorFunction"===n.name||"GeneratorFunction"===n.displayName)}function f(t,n,i){vn(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function h(t,n,i){vn(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function v(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return s(t)&&!0===t[i]}}function l(t){return t instanceof Map}function d(t){return t instanceof Set}function b(t){var n=Object.keys(t);if(!xn)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return ln.propertyIsEnumerable.call(t,n)}))):n}function p(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function y(t){return null===t?null:"object"==typeof t?""+t:t}function m(t,n){return ln.hasOwnProperty.call(t,n)}function j(t){return fn((function(n,i){void 0===i?x(t,n):w(n,i,t)}),{t:t})}function x(t,n){return fn((function(i,r){w(i,r,t,n)}),{t:t,i:n})}function w(t,n,i,r){var e,o=hn(t,An);o?e=o.value:f(t,An,e={}),e[n]={t:i,i:r}}function O(t,n,i){void 0===n&&(n=jn),void 0===i&&(i=jn);var r=new _n(t);return n!==jn&&lt(r,n),i!==jn&&dt(r,i),r}function A(t,n,i){return At(t)?t:Array.isArray(t)?kn.array(t,{name:i}):c(t)?kn.object(t,void 0,{name:i}):l(t)?kn.map(t,{name:i}):d(t)?kn.set(t,{name:i}):t}function g(t){return t}function S(t){return t||Nn}function _(t){return!0===t.deep?A:!1===t.deep?g:M(t.defaultDecorator)}function M(n){var i;return n?null!=(i=En[n.t])?i:t(12):A}function V(t,n,i){if(!u(n))return At(t)?t:c(t)?kn.object(t,n,i):Array.isArray(t)?kn.array(t,n):l(t)?kn.map(t,n):d(t)?kn.set(t,n):"object"==typeof t&&null!==t?t:kn.box(t);w(t,n,"observable")}function N(t,n,i,r){function e(){return E(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,Pn&&(Bn.value=t,Object.defineProperty(e,"name",Bn)),e}function E(t,n,i,r,e){var o=R(0,n);try{return i.apply(r,e)}catch(t){throw o.o=t,t}finally{T(o)}}function R(t,n){var i=Qn.trackingDerivation,r=!n||!i;it();var e=Qn.allowStateChanges;r&&(z(),e=K(!0));var o={u:r,s:i,h:e,v:J(!0),l:!1,p:0,m:In++,j:Cn};return Cn=o.m,o}function T(n){Cn!==n.m&&t(30),Cn=n.j,void 0!==n.o&&(Qn.suppressReactionErrors=!0),L(n.h),Y(n.v),rt(),n.u&&$(n.s),Qn.suppressReactionErrors=!1}function k(t,n){var i=K(t);try{return n()}finally{L(i)}}function K(t){var n=Qn.allowStateChanges;return Qn.allowStateChanges=t,n}function L(t){Qn.allowStateChanges=t}function C(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function I(t,n,i){return n&&C(t.prototype,n),i&&C(t,i),t}function P(){return(P=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function B(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function D(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function G(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function q(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return G(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function X(t){return t instanceof Fn}function H(t){switch(t.O){case Xn.A:return!1;case Xn.g:case Xn.S:return!0;case Xn._:for(var n=J(!0),i=z(),r=t.M,e=r.length,o=0;o<e;o++){var u=r[o];if(Wn(u)){if(Qn.disableErrorBoundaries)u.get();else try{u.get()}catch(t){return $(i),Y(n),!0}if(t.O===Xn.S)return $(i),Y(n),!0}}return Q(t),$(i),Y(n),!1}}function U(t,n,i){var r=J(!0);Q(t),t.V=Array(t.M.length+100),t.N=0,t.R=++Qn.runId;var e,o=Qn.trackingDerivation;if(Qn.trackingDerivation=t,Qn.inBatch++,!0===Qn.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new Fn(t)}return Qn.inBatch--,Qn.trackingDerivation=o,function(t){for(var n=t.M,i=t.M=t.V,r=Xn.A,e=0,o=t.N,u=0;u<o;u++){var s=i[u];0===s.T&&(s.T=1,e!==u&&(i[e]=s),e++),s.O>r&&(r=s.O)}for(i.length=e,t.V=null,o=n.length;o--;){var c=n[o];0===c.T&&tt(c,t),c.T=0}for(;e--;){var a=i[e];1===a.T&&(a.T=0,Z(a,t))}r!==Xn.A&&(t.O=r,t.k())}(t),Y(r),e}function W(t){var n=t.M;t.M=[];for(var i=n.length;i--;)tt(n[i],t);t.O=Xn.g}function F(t){var n=z();try{return t()}finally{$(n)}}function z(){var t=Qn.trackingDerivation;return Qn.trackingDerivation=null,t}function $(t){Qn.trackingDerivation=t}function J(t){var n=Qn.allowStateReads;return Qn.allowStateReads=t,n}function Y(t){Qn.allowStateReads=t}function Q(t){if(t.O!==Xn.A){t.O=Xn.A;for(var n=t.M,i=n.length;i--;)n[i].K=Xn.A}}function Z(t,n){t.L.add(n),t.K>n.O&&(t.K=n.O)}function tt(t,n){t.L.delete(n),0===t.L.size&&nt(t)}function nt(t){!1===t.C&&(t.C=!0,Qn.pendingUnobservations.push(t))}function it(){Qn.inBatch++}function rt(){if(0==--Qn.inBatch){ot();for(var t=Qn.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.C=!1,0===i.L.size&&(i.I&&(i.I=!1,i.onBUO()),i instanceof Un&&i.P())}Qn.pendingUnobservations=[]}}function et(t){var n=Qn.trackingDerivation;return null!==n?(n.R!==t.B&&(t.B=n.R,n.V[n.N++]=t,!t.I&&Qn.trackingContext&&(t.I=!0,t.onBO())),!0):(0===t.L.size&&Qn.inBatch>0&&nt(t),!1)}function ot(){Qn.inBatch>0||Qn.isRunningReactions||ti(ut)}function ut(){Qn.isRunningReactions=!0;for(var t=Qn.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].D()}Qn.isRunningReactions=!1}function st(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function ct(t,n){var i=function(i,r){return o(i)?N(i.name||"<unnamed action>",i,t):o(r)?N(i,r,t):u(r)?w(i,r,n):u(i)?x(n,i):void 0};return i.t=n,i}function at(t){return E(0,!1,t,this,void 0)}function ft(t){return o(t)&&!0===t.isMobxAction}function ht(t,n){function i(){t(e)}void 0===n&&(n=bn);var e,o=n&&n.name||t.name||"Autorun@"+r();if(n.scheduler||n.delay){var u=vt(n),s=!1;e=new Zn(o,(function(){s||(s=!0,u((function(){s=!1,e.G||e.track(i)})))}),n.onError,n.requiresObservable)}else e=new Zn(o,(function(){this.track(i)}),n.onError,n.requiresObservable);return e.q(),e.X()}function vt(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:ei}function lt(t,n,i){return bt("onBO",t,n,i)}function dt(t,n,i){return bt("onBUO",t,n,i)}function bt(t,n,i,r){var e="function"==typeof r?nn(n,i):nn(n),u=o(r)?r:i,s=t+"L";return e[s]?e[s].add(u):e[s]=new Set([u]),function(){var t=e[s];t&&(t.delete(u),0===t.size&&delete e[s])}}function pt(t,n,i,r){var e=S(r),o=Jt(t,e.name,_(e));it();try{var u=On(n);b(u).forEach((function(n){qt(o,t,n,u[n],!i||!(n in i)||i[n],!0,!!(null==r?void 0:r.autoBind))}))}finally{rt()}return t}function yt(t){var n,i={name:t.H};return t.M&&t.M.length>0&&(i.dependencies=(n=t.M,Array.from(new Set(n))).map(yt)),i}function mt(t){var n={name:t.H};return function(t){return t.L&&t.L.size>0}(t)&&(n.observers=Array.from(function(t){return t.L}(t)).map(mt)),n}function jt(){this.message="FLOW_CANCELLED"}function xt(t){o(t.cancel)&&t.cancel()}function wt(t,n){if(void 0!==n){if(!1===Yt(t))return!1;if(!t[Sn].U.has(n))return!1;var i=nn(t,n);return Wn(i)}return Wn(t)}function Ot(t,n){return!!t&&(void 0!==n?!!Yt(t)&&t[Sn].U.has(n):Yt(t)||!!t[Sn]||Mn(t)||ni(t)||Wn(t))}function At(t){return Ot(t)}function gt(n){return Yt(n)?n[Sn].W():wi(n)||_i(n)?Array.from(n.keys()):$t(n)?n.map((function(t,n){return n})):void t(5)}function St(n,i,r){if(2!==arguments.length||_i(n))if(Yt(n)){var e=n[Sn],o=e.U.get(i);o?e.F(i,r):e.$(i,r,e.J)}else wi(n)?n.set(i,r):_i(n)?n.add(i):$t(n)?("number"!=typeof i&&(i=parseInt(i,10)),i<0&&t("Invalid index: '"+i+"'"),it(),i>=n.length&&(n.length=i+1),n[i]=r,rt()):t(8);else{it();var u=i;try{for(var s in u)St(n,s,u[s])}finally{rt()}}}function _t(n,i){return Yt(n)?rn(n).Y(i):wi(n)||_i(n)?n.has(i):$t(n)?i>=0&&i<n.length:void t(10)}function Mt(t,n,i){return t.set(n,i),i}function Vt(){t("trace() is not available in production builds");for(var n=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(n=r.pop());var o=Nt(r);if(!o)return t("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");o.Z===Hn.NONE&&console.log("[mobx.trace] '"+o.H+"' tracing enabled"),o.Z=n?Hn.BREAK:Hn.LOG}function Nt(t){switch(t.length){case 0:return Qn.trackingDerivation;case 1:return nn(t[0]);case 2:return nn(t[0],t[1])}}function Et(t,n){void 0===n&&(n=void 0),it();try{return t.apply(n)}finally{rt()}}function Rt(t,n,i){var e;"number"==typeof i.timeout&&(e=setTimeout((function(){if(!u[Sn].G){u();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+r();var o=N(i.name+"-effect",n),u=ht((function(n){k(!1,t)&&(n.dispose(),e&&clearTimeout(e),o())}),i);return u}function Tt(t,n){var i,r=new Promise((function(r,e){var o=Rt(t,r,P({},n,{onError:e}));i=function(){o(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function kt(t){return t[Sn]}function Kt(t){return void 0!==t.tt&&t.tt.length>0}function Lt(t,n){var i=t.tt||(t.tt=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Ct(n,i){var r=z();try{for(var e=[].concat(n.tt||[]),o=0,u=e.length;o<u&&((i=e[o](i))&&!i.type&&t(14),i);o++);return i}finally{$(r)}}function It(t){return void 0!==t.nt&&t.nt.length>0}function Pt(t,n){var i=t.nt||(t.nt=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Bt(t,n){var i=z(),r=t.nt;if(r){for(var e=0,o=(r=r.slice()).length;e<o;e++)r[e](n);$(i)}}function Dt(t,n,i,r,e){f(t,n,e?ri(i||n,r):ii(i||n,r))}function Gt(t,n,i){return t.get?Kn:!t.set&&(o(t.value)?a(t.value)?ui:!ft(t.value)&&(i?ri.bound:ri):null!=n?n:kn.deep)}function qt(n,i,r,e,u,s,c){var a=n.it,h=u;if(!0===u&&(u=Gt(e,kn,c)),!1!==u){if(!u||!0===u||!u.t)return t(2,r);var v=u.t;switch(v){case"autoAction":case"action":var l=e.value;o(l)||t(3,r),i===a||s?Dt(a,r,u.i,l,"autoAction"===v):ft(i[r])||Dt(i,r,u.i,l,"autoAction"===v);break;case"autoAction.bound":case"action.bound":var d=e.value;o(d)||t(3,r),Dt(a,r,u.i,d.bind(n.rt||a),"autoAction.bound"===v);break;case"flow":i===a||s?f(a,r,ui(e.value)):function(t){return!0===(null==t?void 0:t.isMobXFlow)}(i[r])||f(i,r,ui(e.value));break;case"computed":case"computed.struct":e.get||t(4,r),n.et(a,r,P({get:e.get,set:e.set,compareStructural:"computed.struct"===u.t},u.i));break;case"observable":case"observable.ref":case"observable.shallow":case"observable.struct":var b=!0===h?n.J:M(u);n.$(r,e.value,b)}}else s&&vn(a,r,e)}function Xt(n,i,r){var e=!!(null==r?void 0:r.autoBind),o=Jt(n,null==r?void 0:r.name,M(null==r?void 0:r.defaultDecorator));it();try{if(!i)return function(t){if(t[gn])return!0;for(var n=t,i=[];n&&n!==ln;){var r=hn(n,An);if(r){if(!i.length)for(var e in r.value)if(!m(t,e)&&!m(n,e))return!0;i.unshift(r.value)}n=Object.getPrototypeOf(n)}i.forEach((function(n){Xt(t,n)})),f(t,gn,!0)}(n),n;wn(i).forEach((function(r){var u=i[r],s=function(n,i){for(var r=n;r&&r!==ln;){var e=hn(r,i);if(e)return[e,r];r=Object.getPrototypeOf(r)}t(1,i)}(n,r);qt(o,s[1],r,s[0],u,!1,e)}))}finally{rt()}return n}function Ht(t,n,e,o){void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),i();var u=new hi(e,n,o,!1);h(u.U,Sn,u);var s=new Proxy(u.U,fi);if(u.rt=s,t&&t.length){var c=K(!0);u.ot(0,0,t),L(c)}return s}function Ut(t,n){"function"==typeof Array.prototype[t]&&(vi[t]=n(t))}function Wt(t){return function(){var n=this[Sn];n.ut.reportObserved();var i=n.st(n.U);return i[t].apply(i,arguments)}}function Ft(t){return function(n,i){var r=this,e=this[Sn];return e.ut.reportObserved(),e.st(e.U)[t]((function(t,e){return n.call(i,t,e,r)}))}}function zt(t){return function(){var n=this,i=this[Sn];i.ut.reportObserved();var r=i.st(i.U),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function $t(t){return s(t)&&bi(t[Sn])}function Jt(t,n,i){if(void 0===n&&(n=""),void 0===i&&(i=A),m(t,Sn))return t[Sn];n||(n=c(t)?"ObservableObject@"+r():(t.constructor.name||"ObservableObject")+"@"+r());var e=new Mi(t,new Map,p(n),i);return f(t,Sn,e),e}function Yt(t){return!!s(t)&&Ei(t[Sn])}function Qt(t){vn(ki.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[Sn].ct(t)},set:function(n){this[Sn].at(t,n)}}}(t))}function Zt(t){if(t>Ri){for(var n=Ri;n<t+100;n++)Qt(n);Ri=t}}function tn(t,n,i){return new ki(t,n,i)}function nn(n,i){if("object"==typeof n&&null!==n){if($t(n))return void 0!==i&&t(23),n[Sn].ut;if(_i(n))return n[Sn];if(wi(n)){if(void 0===i)return n.ft;var r=n.ht.get(i)||n.vt.get(i);return r||t(25,i,en(n)),r}if(Yt(n)){if(!i)return t(26);var e=n[Sn].U.get(i);return e||t(27,i,en(n)),e}if(Mn(n)||Wn(n)||ni(n))return n}else if(o(n)&&ni(n[Sn]))return n[Sn];t(28)}function rn(n,i){return n||t(29),void 0!==i?rn(nn(n,i)):Mn(n)||Wn(n)||ni(n)||wi(n)||_i(n)?n:n[Sn]?n[Sn]:void t(24,n)}function en(t,n){return(void 0!==n?nn(t,n):Yt(t)||wi(t)||_i(t)?rn(t):nn(t)).H}function on(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,u){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!o(s)&&"object"!==s&&"object"!=typeof i)return!1;var c=Ki.call(n);if(c!==Ki.call(i))return!1;switch(c){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=un(n),i=un(i);var a="[object Array]"===c;if(!a){if("object"!=typeof n||"object"!=typeof i)return!1;var f=n.constructor,h=i.constructor;if(f!==h&&!(o(f)&&f instanceof f&&o(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),u=u||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return u[v]===i;if(e.push(n),u.push(i),a){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,u))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!m(i,l=d[v])||!t(n[l],i[l],r-1,e,u))return!1}return e.pop(),u.pop(),!0}(t,n,i)}function un(t){return $t(t)?t.slice():l(t)||wi(t)||d(t)||_i(t)?Array.from(t.entries()):t}function sn(t){return t[Symbol.iterator]=cn,t}function cn(){return this}Object.defineProperty(exports,"__esModule",{value:!0});var an={},fn=Object.assign,hn=Object.getOwnPropertyDescriptor,vn=Object.defineProperty,ln=Object.prototype,dn=[];Object.freeze(dn);var bn={};Object.freeze(bn);var pn,yn="undefined"!=typeof Proxy,mn=""+Object,jn=function(){},xn=void 0!==Object.getOwnPropertySymbols,wn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:xn?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,On=Object.getOwnPropertyDescriptors||function(t){var n={};return wn(t).forEach((function(i){n[i]=hn(t,i)})),n},An=Symbol("mobx-decorators"),gn=Symbol("mobx-applied-decorators"),Sn=Symbol("mobx administration"),_n=function(){function t(t){void 0===t&&(t="Atom@"+r()),this.H=void 0,this.C=!1,this.I=!1,this.L=new Set,this.T=0,this.B=0,this.K=Xn.g,this.onBOL=void 0,this.onBUOL=void 0,this.H=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return et(this)},n.reportChanged=function(){it(),function(t){t.K!==Xn.S&&(t.K=Xn.S,t.L.forEach((function(t){t.O===Xn.A&&t.k(),t.O=Xn.S})))}(this),rt()},n.toString=function(){return this.H},t}(),Mn=v("Atom",_n),Vn={identity:function(t,n){return t===n},structural:function(t,n){return on(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return on(t,n,1)}},Nn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Nn);var En=((pn={}).observable=A,pn["observable.ref"]=g,pn["observable.shallow"]=function(t,n,i){return null==t||Yt(t)||$t(t)||wi(t)||_i(t)?t:Array.isArray(t)?kn.array(t,{name:i,deep:!1}):c(t)?kn.object(t,void 0,{name:i,deep:!1}):l(t)?kn.map(t,{name:i,deep:!1}):d(t)?kn.set(t,{name:i,deep:!1}):void 0},pn["observable.struct"]=function(t,n){return on(t,n)?n:t},pn);V.t="observable";var Rn,Tn,kn=fn(V,{box:function(t,n){var i=S(n);return new Gn(t,_(i),i.name,!0,i.equals)},array:function(t,n){var i=S(n);return(!1===Qn.useProxies||!1===i.proxy?tn:Ht)(t,_(i),i.name)},map:function(t,n){var i=S(n);return new xi(t,_(i),i.name)},set:function(t,n){var i=S(n);return new Si(t,_(i),i.name)},object:function(t,n,r){var e=S(r),o={};return Jt(o,null==r?void 0:r.name,_(e)),pt(!1===Qn.useProxies||!1===e.proxy?o:function(t){i();var n=new Proxy(t,si);return t[Sn].rt=n,n}(o),t,n,r)},ref:j("observable.ref"),shallow:j("observable.shallow"),deep:j("observable"),struct:j("observable.struct")}),Kn=function(t,n){if(u(n))return w(t,n,"computed");if(c(t))return x("computed",t);var i=c(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new Un(i)};Kn.t="computed",Kn.struct=fn((function(t,n){w(t,n,"computed.struct")}),{t:"computed.struct"});var Ln,Cn=0,In=1,Pn=null!=(Rn=null==(Tn=hn((function(){}),"name"))?void 0:Tn.configurable)&&Rn,Bn={value:"action",configurable:!0,writable:!1,enumerable:!1};Ln=Symbol.toPrimitive;var Dn,Gn=function(t){function n(n,i,e,o,u){var s;return void 0===e&&(e="ObservableValue@"+r()),void 0===u&&(u=Vn.default),(s=t.call(this,e)||this).enhancer=void 0,s.H=void 0,s.equals=void 0,s.lt=!1,s.tt=void 0,s.nt=void 0,s.dt=void 0,s.dehancer=void 0,s.enhancer=i,s.H=e,s.equals=u,s.dt=i(n,void 0,e),s}B(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this.bt(t))!==Qn.UNCHANGED&&this.pt(t)},i.bt=function(t){if(Kt(this)){var n=Ct(this,{object:this,type:ai,newValue:t});if(!n)return Qn.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.dt,this.H),this.equals(this.dt,t)?Qn.UNCHANGED:t},i.pt=function(t){var n=this.dt;this.dt=t,this.reportChanged(),It(this)&&Bt(this,{type:ai,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.dt)},i.yt=function(t){return Lt(this,t)},i.jt=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.H,object:this,type:ai,newValue:this.dt,oldValue:void 0}),Pt(this,t)},i.raw=function(){return this.dt},i.toJSON=function(){return this.get()},i.toString=function(){return this.H+"["+this.dt+"]"},i.valueOf=function(){return y(this.get())},i[Ln]=function(){return this.valueOf()},n}(_n),qn=v("ObservableValue",Gn);Dn=Symbol.toPrimitive;var Xn,Hn,Un=function(){function n(n){this.O=Xn.g,this.M=[],this.V=null,this.I=!1,this.C=!1,this.L=new Set,this.T=0,this.R=0,this.B=0,this.K=Xn.A,this.N=0,this.xt="#"+r(),this.dt=new Fn(null),this.H=void 0,this.wt=void 0,this.Ot=!1,this.At=!1,this.derivation=void 0,this.gt=void 0,this.Z=Hn.NONE,this.St=void 0,this._t=void 0,this.Mt=void 0,this.Vt=void 0,this.onBOL=void 0,this.onBUOL=void 0,n.get||t(31),this.derivation=n.get,this.H=n.name||"ComputedValue@"+r(),n.set&&(this.gt=N(this.H+"-setter",n.set)),this._t=n.equals||(n.compareStructural||n.struct?Vn.structural:Vn.default),this.St=n.context,this.Mt=!!n.requiresReaction,this.Vt=!!n.keepAlive}var i=n.prototype;return i.k=function(){!function(t){t.K===Xn.A&&(t.K=Xn._,t.L.forEach((function(t){t.O===Xn.A&&(t.O=Xn._,t.k())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.Ot&&t(32,this.H,this.derivation),0!==Qn.inBatch||0!==this.L.size||this.Vt){if(et(this),H(this)){var n=Qn.trackingContext;this.Vt&&!n&&(Qn.trackingContext=this),this.trackAndCompute()&&function(t){t.K!==Xn.S&&(t.K=Xn.S,t.L.forEach((function(n){n.O===Xn._?n.O=Xn.S:n.O===Xn.A&&(t.K=Xn.A)})))}(this),Qn.trackingContext=n}}else H(this)&&(this.Nt(),it(),this.dt=this.Et(!1),rt());var i=this.dt;if(X(i))throw i.cause;return i},i.set=function(n){if(this.gt){this.At&&t(33,this.H),this.At=!0;try{this.gt.call(this.St,n)}finally{this.At=!1}}else t(34,this.H)},i.trackAndCompute=function(){var t=this.dt,n=this.O===Xn.g,i=this.Et(!0),r=n||X(t)||X(i)||!this._t(t,i);return r&&(this.dt=i),r},i.Et=function(t){this.Ot=!0;var n,i=K(!1);if(t)n=U(this,this.derivation,this.St);else if(!0===Qn.disableErrorBoundaries)n=this.derivation.call(this.St);else try{n=this.derivation.call(this.St)}catch(t){n=new Fn(t)}return L(i),this.Ot=!1,n},i.P=function(){this.Vt||(W(this),this.dt=void 0)},i.jt=function(t,n){var i=this,r=!0,e=void 0;return ht((function(){var o=i.get();if(!r||n){var u=z();t({observableKind:"computed",debugObjectName:i.H,type:ai,object:i,newValue:o,oldValue:e}),$(u)}r=!1,e=o}))},i.Nt=function(){},i.toString=function(){return this.H+"["+this.derivation+"]"},i.valueOf=function(){return y(this.get())},i[Dn]=function(){return this.valueOf()},n}(),Wn=v("ComputedValue",Un);!function(t){t[t.g=-1]="NOT_TRACKING_",t[t.A=0]="UP_TO_DATE_",t[t._=1]="POSSIBLY_STALE_",t[t.S=2]="STALE_"}(Xn||(Xn={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(Hn||(Hn={}));var Fn=function(t){this.cause=void 0,this.cause=t},zn=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],$n=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},Jn=!0,Yn=!1,Qn=function(){var i=n();return i.__mobxInstanceCount>0&&!i.__mobxGlobals&&(Jn=!1),i.__mobxGlobals&&i.__mobxGlobals.version!==(new $n).version&&(Jn=!1),Jn?i.__mobxGlobals?(i.__mobxInstanceCount+=1,i.__mobxGlobals.UNCHANGED||(i.__mobxGlobals.UNCHANGED={}),i.__mobxGlobals):(i.__mobxInstanceCount=1,i.__mobxGlobals=new $n):(setTimeout((function(){Yn||t(35)}),1),new $n)}(),Zn=function(){function t(t,n,i,e){void 0===t&&(t="Reaction@"+r()),void 0===e&&(e=!1),this.H=void 0,this.Rt=void 0,this.Tt=void 0,this.kt=void 0,this.M=[],this.V=[],this.O=Xn.g,this.T=0,this.R=0,this.N=0,this.xt="#"+r(),this.G=!1,this.Kt=!1,this.Lt=!1,this.Ct=!1,this.Z=Hn.NONE,this.H=t,this.Rt=n,this.Tt=i,this.kt=e}var n=t.prototype;return n.k=function(){this.q()},n.q=function(){this.Kt||(this.Kt=!0,Qn.pendingReactions.push(this),ot())},n.isScheduled=function(){return this.Kt},n.D=function(){if(!this.G){it(),this.Kt=!1;var t=Qn.trackingContext;if(Qn.trackingContext=this,H(this)){this.Lt=!0;try{this.Rt()}catch(t){this.It(t)}}Qn.trackingContext=t,rt()}},n.track=function(t){if(!this.G){it(),this.Ct=!0;var n=Qn.trackingContext;Qn.trackingContext=this;var i=U(this,t,void 0);Qn.trackingContext=n,this.Ct=!1,this.Lt=!1,this.G&&W(this),X(i)&&this.It(i.cause),rt()}},n.It=function(t){var n=this;if(this.Tt)this.Tt(t,this);else{if(Qn.disableErrorBoundaries)throw t;Qn.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),Qn.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.G||(this.G=!0,this.Ct||(it(),W(this),rt()))},n.X=function(){var t=this.dispose.bind(this);return t[Sn]=this,t},n.toString=function(){return"Reaction["+this.H+"]"},n.trace=function(t){void 0===t&&(t=!1),Vt(this,t)},t}(),ti=function(t){return t()},ni=v("Reaction",Zn),ii=ct(!1,"action"),ri=ct(!0,"autoAction");ii.bound=j("action.bound"),ri.bound=j("autoAction.bound");var ei=function(t){return t()},oi=0;jt.prototype=Object.create(Error.prototype);var ui=Object.assign((function(t,n){if(u(n))return w(t,n,"flow");var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,u=++oi,s=ii(r+" - runid: "+u+" - init",i).apply(n,e),c=void 0,a=new Promise((function(n,i){function e(t){var n;c=void 0;try{n=ii(r+" - runid: "+u+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}f(n)}function a(t){var n;c=void 0;try{n=ii(r+" - runid: "+u+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}f(n)}function f(t){if(!o(null==t?void 0:t.then))return t.done?n(t.value):(c=Promise.resolve(t.value)).then(e,a);t.then(f,i)}var h=0;t=i,e(void 0)}));return a.cancel=ii(r+" - runid: "+u+" - cancel",(function(){try{c&&xt(c);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(jn,jn),xt(i),t(new jt)}catch(n){t(n)}})),a};return e.isMobXFlow=!0,e}),{t:"flow"}),si={has:function(t,n){if(n===Sn||"constructor"===n)return!0;var i=kt(t);return u(n)?i.Y(n):n in t},get:function(t,n){if(n===Sn||"constructor"===n)return t[n];var i=kt(t),r=i.U.get(n);if(r instanceof _n){var e=r.get();return void 0===e&&i.Y(n),e}return u(n)&&i.Y(n),t[n]},set:function(t,n,i){return!!u(n)&&(St(t,n,i),!0)},deleteProperty:function(t,n){return!!u(n)&&(kt(t).Pt(n),!0)},ownKeys:function(t){return kt(t).ft.reportObserved(),Reflect.ownKeys(t)},preventExtensions:function(){t(13)}},ci=Symbol("mobx-cached-annotations"),ai="update",fi={get:function(t,n){var i=t[Sn];return n===Sn?i:"length"===n?i.Bt():"string"!=typeof n||isNaN(n)?m(vi,n)?vi[n]:t[n]:i.ct(parseInt(n))},set:function(t,n,i){var r=t[Sn];return"length"===n&&r.Dt(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.at(parseInt(n),i),!0},preventExtensions:function(){t(15)}},hi=function(){function n(t,n,i,e){this.Gt=void 0,this.qt=void 0,this.ut=void 0,this.U=[],this.tt=void 0,this.nt=void 0,this.Xt=void 0,this.dehancer=void 0,this.rt=void 0,this.Ht=0,this.Gt=i,this.qt=e,this.ut=new _n(t||"ObservableArray@"+r()),this.Xt=function(i,r){return n(i,r,t+"[..]")}}var i=n.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.st=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.yt=function(t){return Lt(this,t)},i.jt=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.rt,debugObjectName:this.ut.H,type:"splice",index:0,added:this.U.slice(),addedCount:this.U.length,removed:[],removedCount:0}),Pt(this,t)},i.Bt=function(){return this.ut.reportObserved(),this.U.length},i.Dt=function(n){("number"!=typeof n||n<0)&&t("Out of range: "+n);var i=this.U.length;if(n!==i)if(n>i){for(var r=Array(n-i),e=0;e<n-i;e++)r[e]=void 0;this.ot(i,0,r)}else this.ot(n,i-n)},i.Wt=function(n,i){n!==this.Ht&&t(16),this.Ht+=i,this.qt&&i>0&&Zt(n+i+1)},i.ot=function(t,n,i){var r=this,e=this.U.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=dn),Kt(this)){var o=Ct(this,{object:this.rt,type:"splice",index:t,removedCount:n,added:i});if(!o)return dn;n=o.removedCount,i=o.added}if(i=0===i.length?i:i.map((function(t){return r.Xt(t,void 0)})),this.qt){var u=i.length-n;this.Wt(e,u)}var s=this.Ft(t,n,i);return 0===n&&0===i.length||this.zt(t,i,s),this.st(s)},i.Ft=function(t,n,i){var r;if(i.length<1e4)return(r=this.U).splice.apply(r,[t,n].concat(i));var e=this.U.slice(t,t+n),o=this.U.slice(t+n);this.U.length=t+i.length-n;for(var u=0;u<i.length;u++)this.U[t+u]=i[u];for(var s=0;s<o.length;s++)this.U[t+i.length+s]=o[s];return e},i.$t=function(t,n,i){var r=!this.Gt&&!1,e=It(this),o=e||r?{observableKind:"array",object:this.rt,type:ai,debugObjectName:this.ut.H,index:t,newValue:n,oldValue:i}:null;this.ut.reportChanged(),e&&Bt(this,o)},i.zt=function(t,n,i){var r=!this.Gt&&!1,e=It(this),o=e||r?{observableKind:"array",object:this.rt,debugObjectName:this.ut.H,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.ut.reportChanged(),e&&Bt(this,o)},i.ct=function(t){if(t<this.U.length)return this.ut.reportObserved(),this.Ut(this.U[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.U.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.at=function(n,i){var r=this.U;if(n<r.length){var e=r[n];if(Kt(this)){var o=Ct(this,{type:ai,object:this.rt,index:n,newValue:i});if(!o)return;i=o.newValue}(i=this.Xt(i,e))!==e&&(r[n]=i,this.$t(n,i,e))}else n===r.length?this.ot(n,0,[i]):t(17,n,r.length)},n}(),vi={clear:function(){return this.splice(0)},replace:function(t){var n=this[Sn];return n.ot(0,n.U.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var o=this[Sn];switch(arguments.length){case 0:return[];case 1:return o.ot(t);case 2:return o.ot(t,n)}return o.ot(t,n,r)},spliceWithArray:function(t,n,i){return this[Sn].ot(t,n,i)},push:function(){for(var t=this[Sn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ot(t.U.length,0,i),t.U.length},pop:function(){return this.splice(Math.max(this[Sn].U.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[Sn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ot(0,0,i),t.U.length},reverse:function(){return Qn.trackingDerivation&&t(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){Qn.trackingDerivation&&t(37,"sort");var n=this.slice();return n.sort.apply(n,arguments),this.replace(n),this},remove:function(t){var n=this[Sn],i=n.st(n.U).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};Ut("concat",Wt),Ut("flat",Wt),Ut("includes",Wt),Ut("indexOf",Wt),Ut("join",Wt),Ut("lastIndexOf",Wt),Ut("slice",Wt),Ut("toString",Wt),Ut("toLocaleString",Wt),Ut("every",Ft),Ut("filter",Ft),Ut("find",Ft),Ut("findIndex",Ft),Ut("flatMap",Ft),Ut("forEach",Ft),Ut("map",Ft),Ut("some",Ft),Ut("reduce",zt),Ut("reduceRight",zt);var li,di,bi=v("ObservableArrayAdministration",hi),pi={},yi="add";li=Symbol.iterator,di=Symbol.toStringTag;var mi,ji,xi=function(){function n(n,i,e){void 0===i&&(i=A),void 0===e&&(e="ObservableMap@"+r()),this.Xt=void 0,this.H=void 0,this[Sn]=pi,this.ht=void 0,this.vt=void 0,this.ft=void 0,this.tt=void 0,this.nt=void 0,this.dehancer=void 0,this.Xt=i,this.H=e,o(Map)||t(18),this.ft=O(this.H+".keys()"),this.ht=new Map,this.vt=new Map,this.merge(n)}var i=n.prototype;return i.Y=function(t){return this.ht.has(t)},i.has=function(t){var n=this;if(!Qn.trackingDerivation)return this.Y(t);var i=this.vt.get(t);if(!i){var r=i=new Gn(this.Y(t),g,this.H+"."+p(t)+"?",!1);this.vt.set(t,r),dt(r,(function(){return n.vt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.Y(t);if(Kt(this)){var r=Ct(this,{type:i?ai:yi,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.Jt(t,n):this.Yt(t,n),this},i.delete=function(t){var n=this;if(Kt(this)&&!Ct(this,{type:"delete",object:this,name:t}))return!1;if(this.Y(t)){var i=It(this),r=i?{observableKind:"map",debugObjectName:this.H,type:"delete",object:this,oldValue:this.ht.get(t).dt,name:t}:null;return Et((function(){n.ft.reportChanged(),n.Qt(t,!1),n.ht.get(t).pt(void 0),n.ht.delete(t)})),i&&Bt(this,r),!0}return!1},i.Qt=function(t,n){var i=this.vt.get(t);i&&i.pt(n)},i.Jt=function(t,n){var i=this.ht.get(t);if((n=i.bt(n))!==Qn.UNCHANGED){var r=It(this),e=r?{observableKind:"map",debugObjectName:this.H,type:ai,object:this,oldValue:i.dt,name:t,newValue:n}:null;i.pt(n),r&&Bt(this,e)}},i.Yt=function(t,n){var i=this;Et((function(){var r=new Gn(n,i.Xt,i.H+"."+p(t),!1);i.ht.set(t,r),n=r.dt,i.Qt(t,!0),i.ft.reportChanged()}));var r=It(this);r&&Bt(this,r?{observableKind:"map",debugObjectName:this.H,type:yi,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Ut(this.ht.get(t).get()):this.Ut(void 0)},i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.ft.reportObserved(),this.ht.keys()},i.values=function(){var t=this,n=this.keys();return sn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return sn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[li]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=q(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(n){var i=this;return wi(n)&&(n=new Map(n)),Et((function(){c(n)?b(n).forEach((function(t){return i.set(t,n[t])})):Array.isArray(n)?n.forEach((function(t){return i.set(t[0],t[1])})):l(n)?(n.constructor!==Map&&t(19,n),n.forEach((function(t,n){return i.set(n,t)}))):null!=n&&t(20,n)})),this},i.clear=function(){var t=this;Et((function(){F((function(){for(var n,i=q(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(n){var i=this;return Et((function(){for(var r,e=function(n){if(l(n)||wi(n))return n;if(Array.isArray(n))return new Map(n);if(c(n)){var i=new Map;for(var r in n)i.set(r,n[r]);return i}return t(21,n)}(n),o=new Map,u=!1,s=q(i.ht.keys());!(r=s()).done;){var a=r.value;if(!e.has(a))if(i.delete(a))u=!0;else{var f=i.ht.get(a);o.set(a,f)}}for(var h,v=q(e.entries());!(h=v()).done;){var d=h.value,b=d[0],p=d[1],y=i.ht.has(b);if(i.set(b,p),i.ht.has(b)){var m=i.ht.get(b);o.set(b,m),y||(u=!0)}}if(!u)if(i.ht.size!==o.size)i.ft.reportChanged();else for(var j=i.ht.keys(),x=o.keys(),w=j.next(),O=x.next();!w.done;){if(w.value!==O.value){i.ft.reportChanged();break}w=j.next(),O=x.next()}i.ht=o})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i.jt=function(t){return Pt(this,t)},i.yt=function(t){return Lt(this,t)},I(n,[{key:"size",get:function(){return this.ft.reportObserved(),this.ht.size}},{key:di,get:function(){return"Map"}}]),n}(),wi=v("ObservableMap",xi),Oi={};mi=Symbol.iterator,ji=Symbol.toStringTag;var Ai,gi,Si=function(){function n(n,i,e){void 0===i&&(i=A),void 0===e&&(e="ObservableSet@"+r()),this.H=void 0,this[Sn]=Oi,this.ht=new Set,this.ut=void 0,this.nt=void 0,this.tt=void 0,this.dehancer=void 0,this.Xt=void 0,this.H=e,o(Set)||t(22),this.ut=O(this.H),this.Xt=function(t,n){return i(t,n,e)},n&&this.replace(n)}var i=n.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;Et((function(){F((function(){for(var n,i=q(t.ht.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=q(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(Kt(this)&&!Ct(this,{type:yi,object:this,newValue:t}))return this;if(!this.has(t)){Et((function(){n.ht.add(n.Xt(t,void 0)),n.ut.reportChanged()}));var i=It(this);i&&Bt(this,i?{observableKind:"set",debugObjectName:this.H,type:yi,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(Kt(this)&&!Ct(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=It(this),r=i?{observableKind:"set",debugObjectName:this.H,type:"delete",object:this,oldValue:t}:null;return Et((function(){n.ut.reportChanged(),n.ht.delete(t)})),i&&Bt(this,r),!0}return!1},i.has=function(t){return this.ut.reportObserved(),this.ht.has(this.Ut(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return sn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.ut.reportObserved();var t=this,n=0,i=Array.from(this.ht.values());return sn({next:function(){return n<i.length?{value:t.Ut(i[n++]),done:!1}:{done:!0}}})},i.replace=function(n){var i=this;return _i(n)&&(n=new Set(n)),Et((function(){Array.isArray(n)||d(n)?(i.clear(),n.forEach((function(t){return i.add(t)}))):null!=n&&t("Cannot initialize set from "+n)})),this},i.jt=function(t){return Pt(this,t)},i.yt=function(t){return Lt(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[mi]=function(){return this.values()},I(n,[{key:"size",get:function(){return this.ut.reportObserved(),this.ht.size}},{key:ji,get:function(){return"Set"}}]),n}(),_i=v("ObservableSet",Si),Mi=function(){function t(t,n,i,r){void 0===n&&(n=new Map),this.it=void 0,this.U=void 0,this.H=void 0,this.J=void 0,this.ft=void 0,this.nt=void 0,this.tt=void 0,this.rt=void 0,this.Zt=void 0,this.tn=[],this.nn=!0,this.it=t,this.U=n,this.H=i,this.J=r,this.ft=new _n(i+".keys")}var n=t.prototype;return n.in=function(t){return this.U.get(t).get()},n.F=function(t,n){var i=this.it,r=this.U.get(t);if(r instanceof Un)r.set(n);else{if(Kt(this)){var e=Ct(this,{type:ai,object:this.rt||i,name:t,newValue:n});if(!e)return;n=e.newValue}if((n=r.bt(n))!==Qn.UNCHANGED){var o=It(this),u=o?{type:ai,observableKind:"object",debugObjectName:this.H,object:this.rt||i,oldValue:r.dt,name:t,newValue:n}:null;r.pt(n),o&&Bt(this,u)}}},n.Y=function(t){var n=this.Zt||(this.Zt=new Map),i=n.get(t);if(i)return i.get();var r=!!this.U.get(t);return i=new Gn(r,g,this.H+"."+p(t)+"?",!1),n.set(t,i),i.get()},n.$=function(t,n,i){void 0===i&&(i=this.J);var r=this.it;if(Kt(this)){var e=Ct(this,{object:this.rt||r,name:t,type:yi,newValue:n});if(!e)return;n=e.newValue}var o=new Gn(n,i,this.H+"."+p(t),!1);this.U.set(t,o),n=o.dt,vn(r,t,function(t){return Vi[t]||(Vi[t]={configurable:!0,enumerable:!0,get:function(){return this[Sn].in(t)},set:function(n){this[Sn].F(t,n)}})}(t)),this.rn(t,n)},n.et=function(t,n,i){var r=this.it;i.name=i.name||this.H+"."+p(n),i.context=this.rt||r,this.U.set(n,new Un(i)),vn(t,n,function(t){return Ni[t]||(Ni[t]={configurable:!0,enumerable:!1,get:function(){return this[Sn].in(t)},set:function(n){this[Sn].F(t,n)}})}(n))},n.Pt=function(t){if(this.U.has(t)){var n=this.it;if(Kt(this)&&!Ct(this,{object:this.rt||n,name:t,type:"remove"}))return;try{it();var i=It(this),r=this.U.get(t),e=r&&r.get();if(r&&r.set(void 0),this.reportKeysChanged(),this.U.delete(t),this.Zt){var o=this.Zt.get(t);o&&o.set(!1)}delete this.it[t],i&&Bt(this,i?{type:"remove",observableKind:"object",object:this.rt||n,debugObjectName:this.H,oldValue:e,name:t}:null)}finally{rt()}}},n.jt=function(t){return Pt(this,t)},n.yt=function(t){return Lt(this,t)},n.rn=function(t,n){var i=It(this);if(i&&Bt(this,i?{type:yi,observableKind:"object",debugObjectName:this.H,object:this.rt||this.it,name:t,newValue:n}:null),this.Zt){var r=this.Zt.get(t);r&&r.set(!0)}this.reportKeysChanged()},n.W=function(){if(this.ft.reportObserved(),!this.nn)return this.tn;this.tn=[];for(var t,n=q(this.U);!(t=n()).done;){var i=t.value;i[1]instanceof Gn&&this.tn.push(i[0])}return this.nn=!1,this.tn},n.reportKeysChanged=function(){this.nn=!0,this.ft.reportChanged()},t}(),Vi=Object.create(null),Ni=Object.create(null),Ei=v("ObservableObjectAdministration",Mi),Ri=0,Ti=function(){};Ai=Ti,gi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Ai.prototype,gi):void 0!==Ai.prototype.__proto__?Ai.prototype.__proto__=gi:Ai.prototype=gi;var ki=function(t){function n(n,i,e,o){var u;void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),u=t.call(this)||this;var s=new hi(e,i,o,!0);if(s.rt=D(u),h(D(u),Sn,s),n&&n.length){var c=K(!0);u.spliceWithArray(0,0,n),L(c)}return u}B(n,t);var i=n.prototype;return i.concat=function(){this[Sn].ut.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return $t(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return sn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},I(n,[{key:"length",get:function(){return this[Sn].Bt()},set:function(t){this[Sn].Dt(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(Ti);Object.entries(vi).forEach((function(t){var n=t[0];"concat"!==n&&f(ki.prototype,n,t[1])})),Zt(1e3);var Ki=ln.toString;["Symbol","Map","Set","Symbol"].forEach((function(i){void 0===n()[i]&&t("MobX requires global '"+i+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:st,extras:{getDebugName:en},$mobx:Sn}),exports.$mobx=Sn,exports.FlowCancellationError=jt,exports.ObservableMap=xi,exports.ObservableSet=Si,exports.Reaction=Zn,exports._allowStateChanges=k,exports._allowStateChangesInsideComputed=at,exports._allowStateReadsEnd=Y,exports._allowStateReadsStart=J,exports._autoAction=ri,exports._endAction=T,exports._getAdministration=rn,exports._getGlobalState=function(){return Qn},exports._interceptReads=function(t,n,i){var r;return wi(t)||$t(t)||qn(t)?r=rn(t):Yt(t)&&(r=rn(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}},exports._isComputingDerivation=function(){return null!==Qn.trackingDerivation},exports._resetGlobalState=function(){var t=new $n;for(var n in t)-1===zn.indexOf(n)&&(Qn[n]=t[n]);Qn.allowStateChanges=!Qn.enforceActions},exports._startAction=R,exports.action=ii,exports.autorun=ht,exports.comparer=Vn,exports.computed=Kn,exports.configure=function(i){!0===i.isolateGlobalState&&function(){if((Qn.pendingReactions.length||Qn.inBatch||Qn.isRunningReactions)&&t(36),Yn=!0,Jn){var i=n();0==--i.__mobxInstanceCount&&(i.__mobxGlobals=void 0),Qn=new $n}}();var r,e,o=i.useProxies,u=i.enforceActions;if(void 0!==o&&(Qn.useProxies="always"===o||"never"!==o&&"undefined"!=typeof Proxy),"ifavailable"===o&&(Qn.verifyProxies=!0),void 0!==u){var s="always"===u?"always":"observed"===u;Qn.enforceActions=s,Qn.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(t){t in i&&(Qn[t]=!!i[t])})),Qn.allowStateReads=!Qn.observableRequiresReaction,i.reactionScheduler&&(r=i.reactionScheduler,e=ti,ti=function(t){return r((function(){return e(t)}))})},exports.createAtom=O,exports.entries=function(n){return Yt(n)?gt(n).map((function(t){return[t,n[t]]})):wi(n)?gt(n).map((function(t){return[t,n.get(t)]})):_i(n)?Array.from(n.entries()):$t(n)?n.map((function(t,n){return[n,t]})):void t(7)},exports.extendObservable=pt,exports.flow=ui,exports.flowResult=function(t){return t},exports.get=function(n,i){if(_t(n,i))return Yt(n)?n[i]:wi(n)?n.get(i):$t(n)?n[i]:void t(11)},exports.getAtom=nn,exports.getDebugName=en,exports.getDependencyTree=function(t,n){return yt(nn(t,n))},exports.getObserverTree=function(t,n){return mt(nn(t,n))},exports.has=_t,exports.intercept=function(t,n,i){return o(i)?function(t,n,i){return rn(t,n).yt(i)}(t,n,i):function(t,n){return rn(t).yt(n)}(t,n)},exports.isAction=ft,exports.isBoxedObservable=qn,exports.isComputed=function(t){return wt(t)},exports.isComputedProp=function(t,n){return wt(t,n)},exports.isFlowCancellationError=function(t){return t instanceof jt},exports.isObservable=At,exports.isObservableArray=$t,exports.isObservableMap=wi,exports.isObservableObject=Yt,exports.isObservableProp=function(t,n){return Ot(t,n)},exports.isObservableSet=_i,exports.keys=gt,exports.makeAutoObservable=function(t,n,i){var r,e=Object.getPrototypeOf(t),u=null==e||e===ln;return!u&&m(e,ci)?r=e[ci]:(function(t,n,i){var r,e=!!(null==i?void 0:i.autoBind),o=void 0===(null==i?void 0:i.deep)?null!=(r=null==i?void 0:i.defaultDecorator)?r:kn.deep:(null==i?void 0:i.deep)?kn.deep:kn.ref;Object.entries(On(t)).forEach((function(t){var i=t[0];i in n||"constructor"===i||(n[i]=Gt(t[1],o,e))}))}(t,r=P({},n),i),u||(function(t,n,i){Object.entries(On(t)).forEach((function(t){var r=t[0],e=t[1];r in n||"constructor"===r||(e.get?n[r]=Kn:o(e.value)&&(n[r]=a(e.value)?ui:(null==i?void 0:i.autoBind)?ri.bound:ri))}))}(e,r,i),f(e,ci,r))),Xt(t,r,i),t},exports.makeObservable=Xt,exports.observable=kn,exports.observe=function(t,n,i,r){return o(i)?function(t,n,i,r){return rn(t,n).jt(i,r)}(t,n,i,r):function(t,n,i){return rn(t).jt(n,i)}(t,n,i)},exports.onBecomeObserved=lt,exports.onBecomeUnobserved=dt,exports.onReactionError=function(t){return Qn.globalReactionErrorHandlers.push(t),function(){var n=Qn.globalReactionErrorHandlers.indexOf(t);n>=0&&Qn.globalReactionErrorHandlers.splice(n,1)}},exports.reaction=function(t,n,i){function e(){if(l=!1,!p.G){var n=!1;p.track((function(){var i=k(!1,(function(){return t(p)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&a(s,d,p),v=!1}}void 0===i&&(i=bn);var o,u,s,c=i.name||"Reaction@"+r(),a=ii(c,i.onError?(o=i.onError,u=n,function(){try{return u.apply(this,arguments)}catch(t){o.call(this,t)}}):n),f=!i.scheduler&&!i.delay,h=vt(i),v=!0,l=!1,d=void 0,b=i.compareStructural?Vn.structural:i.equals||Vn.default,p=new Zn(c,(function(){v||f?e():l||(l=!0,h(e))}),i.onError,i.requiresObservable);return p.q(),p.X()},exports.remove=function(n,i){Yt(n)?n[Sn].Pt(i):wi(n)||_i(n)?n.delete(i):$t(n)?("number"!=typeof i&&(i=parseInt(i,10)),n.splice(i,1)):t(9)},exports.runInAction=at,exports.set=St,exports.spy=st,exports.toJS=function(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!At(n))return n;if(qn(n))return t(n.get(),i);if(i.has(n))return i.get(n);if($t(n)){var r=Mt(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if(_i(n)){var e=Mt(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(wi(n)){var o=Mt(i,n,new Map);return n.forEach((function(n,r){o.set(r,t(n,i))})),o}gt(n);var u=Mt(i,n,{});return b(n).forEach((function(r){u[r]=t(n[r],i)})),u}(t,new Map)},exports.trace=Vt,exports.transaction=Et,exports.untracked=F,exports.values=function(n){return Yt(n)?gt(n).map((function(t){return n[t]})):wi(n)?gt(n).map((function(t){return n.get(t)})):_i(n)?Array.from(n.values()):$t(n)?n.slice():void t(6)},exports.when=function(t,n,i){return 1===arguments.length||n&&"object"==typeof n?Tt(t,n):Rt(t,n,i||{})};
function t(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function n(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:jn}function i(){Sn||t("Proxy not available")}function r(){return++li.mobxGuid}function e(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function o(t){return"function"==typeof t}function u(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function s(t){return null!==t&&"object"==typeof t}function f(t){var n;if(!s(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===Mn}function a(t,n,i){On(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function c(t,n,i){On(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function h(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return s(t)&&!0===t[i]}}function v(t){return t instanceof Map}function l(t){return t instanceof Set}function d(t){var n=Object.keys(t);if(!Nn)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return An.propertyIsEnumerable.call(t,n)}))):n}function b(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function p(t){return null===t?null:"object"==typeof t?""+t:t}function y(t,n){return An.hasOwnProperty.call(t,n)}function m(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function j(t,n,i){return n&&m(t.prototype,n),i&&m(t,i),t}function x(){return(x=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function w(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function O(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function A(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function g(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return A(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function _(t){return Object.assign((function(n,i){S(n,i,t)}),t)}function S(t,n,i){y(t,kn)||a(t,kn,x({},t[kn])),function(t){return"override"===t.t}(i)||(t[kn][n]=x({},i,{i:!0}))}function M(t,n,i){void 0===n&&(n=Vn),void 0===i&&(i=Vn);var r=new Kn(t);return n!==Vn&&gt(r,n),i!==Vn&&_t(r,i),r}function V(t,n,i){return Lt(t)?t:Array.isArray(t)?Wn.array(t,{name:i}):f(t)?Wn.object(t,void 0,{name:i}):v(t)?Wn.map(t,{name:i}):l(t)?Wn.set(t,{name:i}):t}function N(t){return t}function R(t,n){return{t:t,o:n,u:E,s:k}}function E(n,i){for(var r,e,o=!1,u=n.h,s=null!=(r=null==(e=this.o)?void 0:e.bound)&&r;u&&u!==An;){var f=wn(u,i);if(f){if(u===n.h||s){var a=T(n,this,i,f);if(!n.v(i,a))return;if(o=!0,s)break}if(u!==n.h){if(wt(f.value)){o=!0;break}var c=T(n,this,i,f);On(u,i,c),o=!0}}u=Object.getPrototypeOf(u)}o?sn(n,this,i):this.i||t(1,this.t,n.l+"."+i)}function k(t,n,i,r){var e=T(t,this,n,i);return t.v(n,e,r)}function T(t,n,i,r){var e,o,u,s,f,a,c=r.value;return(null==(e=n.o)?void 0:e.bound)&&(c=c.bind(null!=(a=t.p)?a:t.h)),{value:W(null!=(o=null==(u=n.o)?void 0:u.name)?o:""+i,c,null!=(s=null==(f=n.o)?void 0:f.autoAction)&&s),configurable:t.m,enumerable:!1,writable:!1}}function K(n,i){for(var r=!1,e=n.h;e&&e!==An;){var o=wn(e,i);if(o){if(e!==n.h){if(kt(o.value)){r=!0;break}var u=C(n,0,0,o);On(e,i,u)}else{var s=C(n,0,0,o);if(!n.v(i,s))return}r=!0}e=Object.getPrototypeOf(e)}r?sn(n,this,i):this.i||t(1,this.t,n.l+"."+i)}function L(t,n,i,r){var e=C(t,0,0,i);return t.v(n,e,r)}function C(t,n,i,r){return{value:Si(r.value),configurable:t.m,enumerable:!1,writable:!1}}function I(t,n){return{t:t,o:n,u:P,s:D}}function P(n,i){for(var r=n.h;r&&r!==An;){var e=wn(r,i);if(e){if(!n.j(i,x({},this.o,{get:e.get,set:e.set})))return;return void sn(n,this,i)}r=Object.getPrototypeOf(r)}this.i||t(1,this.t,n.l+"."+i)}function D(t,n,i,r){return t.j(n,x({},this.o,{get:i.get,set:i.set}),r)}function B(t,n){return{t:t,o:n,u:q,s:G}}function q(n,i){for(var r=n.h;r&&r!==An;){var e=wn(r,i);if(e){var o,u;if(!n.O(i,e.value,null!=(o=null==(u=this.o)?void 0:u.enhancer)?o:V))return;return void sn(n,this,i)}r=Object.getPrototypeOf(r)}this.i||t(1,this.t,n.l+"."+i)}function G(t,n,i,r){var e,o;return t.O(n,i.value,null!=(e=null==(o=this.o)?void 0:o.enhancer)?e:V,r)}function X(t){return t||Pn}function H(t){return!0===t.deep?V:!1===t.deep?N:(n=t.defaultDecorator)&&null!=(i=null==(r=n.o)?void 0:r.enhancer)?i:V;var n,i,r}function U(t,n,i){if(!u(n))return Lt(t)?t:f(t)?Wn.object(t,n,i):Array.isArray(t)?Wn.array(t,n):v(t)?Wn.map(t,n):l(t)?Wn.set(t,n):"object"==typeof t&&null!==t?t:Wn.box(t);S(t,n,Dn)}function W(t,n,i,r){function e(){return F(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,Zn&&(ti.value=t,Object.defineProperty(e,"name",ti)),e}function F(t,n,i,r,e){var o=z(0,n);try{return i.apply(r,e)}catch(t){throw o.A=t,t}finally{$(o)}}function z(t,n){var i=li.trackingDerivation,r=!n||!i;vt();var e=li.allowStateChanges;r&&(et(),e=Y(!0));var o={g:r,_:i,S:e,M:ut(!0),V:!1,N:0,R:Qn++,k:Yn};return Yn=o.R,o}function $(n){Yn!==n.R&&t(30),Yn=n.k,void 0!==n.A&&(li.suppressReactionErrors=!0),Q(n.S),st(n.M),lt(),n.g&&ot(n._),li.suppressReactionErrors=!1}function J(t,n){var i=Y(t);try{return n()}finally{Q(i)}}function Y(t){var n=li.allowStateChanges;return li.allowStateChanges=t,n}function Q(t){li.allowStateChanges=t}function Z(t){return t instanceof fi}function tt(t){switch(t.T){case ei.K:return!1;case ei.L:case ei.C:return!0;case ei.I:for(var n=ut(!0),i=et(),r=t.P,e=r.length,o=0;o<e;o++){var u=r[o];if(si(u)){if(li.disableErrorBoundaries)u.get();else try{u.get()}catch(t){return ot(i),st(n),!0}if(t.T===ei.C)return ot(i),st(n),!0}}return ft(t),ot(i),st(n),!1}}function nt(t,n,i){var r=ut(!0);ft(t),t.D=Array(t.P.length+100),t.B=0,t.q=++li.runId;var e,o=li.trackingDerivation;if(li.trackingDerivation=t,li.inBatch++,!0===li.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new fi(t)}return li.inBatch--,li.trackingDerivation=o,function(t){for(var n=t.P,i=t.P=t.D,r=ei.K,e=0,o=t.B,u=0;u<o;u++){var s=i[u];0===s.G&&(s.G=1,e!==u&&(i[e]=s),e++),s.T>r&&(r=s.T)}for(i.length=e,t.D=null,o=n.length;o--;){var f=n[o];0===f.G&&ct(f,t),f.G=0}for(;e--;){var a=i[e];1===a.G&&(a.G=0,at(a,t))}r!==ei.K&&(t.T=r,t.X())}(t),st(r),e}function it(t){var n=t.P;t.P=[];for(var i=n.length;i--;)ct(n[i],t);t.T=ei.L}function rt(t){var n=et();try{return t()}finally{ot(n)}}function et(){var t=li.trackingDerivation;return li.trackingDerivation=null,t}function ot(t){li.trackingDerivation=t}function ut(t){var n=li.allowStateReads;return li.allowStateReads=t,n}function st(t){li.allowStateReads=t}function ft(t){if(t.T!==ei.K){t.T=ei.K;for(var n=t.P,i=n.length;i--;)n[i].H=ei.K}}function at(t,n){t.U.add(n),t.H>n.T&&(t.H=n.T)}function ct(t,n){t.U.delete(n),0===t.U.size&&ht(t)}function ht(t){!1===t.W&&(t.W=!0,li.pendingUnobservations.push(t))}function vt(){li.inBatch++}function lt(){if(0==--li.inBatch){pt();for(var t=li.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.W=!1,0===i.U.size&&(i.F&&(i.F=!1,i.onBUO()),i instanceof ui&&i.$())}li.pendingUnobservations=[]}}function dt(t){var n=li.trackingDerivation;return null!==n?(n.q!==t.J&&(t.J=n.q,n.D[n.B++]=t,!t.F&&li.trackingContext&&(t.F=!0,t.onBO())),!0):(0===t.U.size&&li.inBatch>0&&ht(t),!1)}function bt(t){t.H!==ei.C&&(t.H=ei.C,t.U.forEach((function(t){t.T===ei.K&&t.X(),t.T=ei.C})))}function pt(){li.inBatch>0||li.isRunningReactions||bi(yt)}function yt(){li.isRunningReactions=!0;for(var t=li.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].Y()}li.isRunningReactions=!1}function mt(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function jt(t){return function(n,i){return o(n)?W(n.name||"<unnamed action>",n,t):o(i)?W(n,i,t):u(i)?S(n,i,t?ji:yi):u(n)?_(R(t?"autoAction":"action",{name:n,autoAction:t})):void 0}}function xt(t){return F(0,!1,t,this,void 0)}function wt(t){return o(t)&&!0===t.isMobxAction}function Ot(t,n){function i(){t(e)}void 0===n&&(n=_n);var e,o=n&&n.name||t.name||"Autorun@"+r();if(n.scheduler||n.delay){var u=At(n),s=!1;e=new di(o,(function(){s||(s=!0,u((function(){s=!1,e.Z||e.track(i)})))}),n.onError,n.requiresObservable)}else e=new di(o,(function(){this.track(i)}),n.onError,n.requiresObservable);return e.tt(),e.nt()}function At(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:Ai}function gt(t,n,i){return St("onBO",t,n,i)}function _t(t,n,i){return St("onBUO",t,n,i)}function St(t,n,i,r){var e="function"==typeof r?hn(n,i):hn(n),u=o(r)?r:i,s=t+"L";return e[s]?e[s].add(u):e[s]=new Set([u]),function(){var t=e[s];t&&(t.delete(u),0===t.size&&delete e[s])}}function Mt(t,n,i,r){var e=En(n),o=en(t,r)[Tn];vt();try{Rn(e).forEach((function(t){o.s(t,e[t],!i||!(t in i)||i[t])}))}finally{lt()}return t}function Vt(t){var n,i={name:t.l};return t.P&&t.P.length>0&&(i.dependencies=(n=t.P,Array.from(new Set(n))).map(Vt)),i}function Nt(t){var n={name:t.l};return function(t){return t.U&&t.U.size>0}(t)&&(n.observers=Array.from(function(t){return t.U}(t)).map(Nt)),n}function Rt(){this.message="FLOW_CANCELLED"}function Et(t){o(t.cancel)&&t.cancel()}function kt(t){return!0===(null==t?void 0:t.isMobXFlow)}function Tt(t,n){if(void 0!==n){if(!1===un(t))return!1;if(!t[Tn].it.has(n))return!1;var i=hn(t,n);return si(i)}return si(t)}function Kt(t,n){return!!t&&(void 0!==n?!!un(t)&&t[Tn].it.has(n):un(t)||!!t[Tn]||Ln(t)||pi(t)||si(t))}function Lt(t){return Kt(t)}function Ct(n){return un(n)?n[Tn].rt():Bi(n)||Ui(n)?Array.from(n.keys()):rn(n)?n.map((function(t,n){return n})):void t(5)}function It(n,i){return un(n)?n[Tn].et(i):Bi(n)||Ui(n)?n.has(i):rn(n)?i>=0&&i<n.length:void t(10)}function Pt(t,n,i){return t.set(n,i),i}function Dt(){t("trace() is not available in production builds");for(var n=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(n=r.pop());var o=Bt(r);if(!o)return t("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");o.ot===oi.NONE&&console.log("[mobx.trace] '"+o.l+"' tracing enabled"),o.ot=n?oi.BREAK:oi.LOG}function Bt(t){switch(t.length){case 0:return li.trackingDerivation;case 1:return hn(t[0]);case 2:return hn(t[0],t[1])}}function qt(t,n){void 0===n&&(n=void 0),vt();try{return t.apply(n)}finally{lt()}}function Gt(t,n,i){var e;"number"==typeof i.timeout&&(e=setTimeout((function(){if(!u[Tn].Z){u();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+r();var o=W(i.name+"-effect",n),u=Ot((function(n){J(!1,t)&&(n.dispose(),e&&clearTimeout(e),o())}),i);return u}function Xt(t,n){var i,r=new Promise((function(r,e){var o=Gt(t,r,x({},n,{onError:e}));i=function(){o(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function Ht(t){return t[Tn]}function Ut(t){return void 0!==t.ut&&t.ut.length>0}function Wt(t,n){var i=t.ut||(t.ut=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Ft(n,i){var r=et();try{for(var e=[].concat(n.ut||[]),o=0,u=e.length;o<u&&((i=e[o](i))&&!i.type&&t(14),i);o++);return i}finally{ot(r)}}function zt(t){return void 0!==t.st&&t.st.length>0}function $t(t,n){var i=t.st||(t.st=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Jt(t,n){var i=et(),r=t.st;if(r){for(var e=0,o=(r=r.slice()).length;e<o;e++)r[e](n);ot(i)}}function Yt(t,n,e,o){void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),i();var u=new Ri(e,n,o,!1);c(u.it,Tn,u);var s=new Proxy(u.it,Ni);if(u.p=s,t&&t.length){var f=Y(!0);u.ft(0,0,t),Q(f)}return s}function Qt(t,n){"function"==typeof Array.prototype[t]&&(Ei[t]=n(t))}function Zt(t){return function(){var n=this[Tn];n.at.reportObserved();var i=n.ct(n.it);return i[t].apply(i,arguments)}}function tn(t){return function(n,i){var r=this,e=this[Tn];return e.at.reportObserved(),e.ct(e.it)[t]((function(t,e){return n.call(i,t,e,r)}))}}function nn(t){return function(){var n=this,i=this[Tn];i.at.reportObserved();var r=i.ct(i.it),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function rn(t){return s(t)&&Ki(t[Tn])}function en(t,n){var i;if(y(t,Tn))return t;var e=null!=(i=null==n?void 0:n.name)?i:(f(t)?"ObservableObject":t.constructor.name)+"@"+r(),o=new zi(t,new Map,b(e),function(t){return t?!0===t.deep?Dn:!1===t.deep?Bn:t.defaultDecorator:void 0}(n),null==n?void 0:n.autoBind);return a(t,Tn,o),t}function on(t){return Fi[t]||(Fi[t]={get:function(){return this[Tn].ht(t)},set:function(n){return this[Tn].vt(t,n)}})}function un(t){return!!s(t)&&$i(t[Tn])}function sn(t,n,i){n.i&&delete t.h[kn][i]}function fn(t){On(Qi.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[Tn].lt(t)},set:function(n){this[Tn].dt(t,n)}}}(t))}function an(t){if(t>Ji){for(var n=Ji;n<t+100;n++)fn(n);Ji=t}}function cn(t,n,i){return new Qi(t,n,i)}function hn(n,i){if("object"==typeof n&&null!==n){if(rn(n))return void 0!==i&&t(23),n[Tn].at;if(Ui(n))return n[Tn];if(Bi(n)){if(void 0===i)return n.bt;var r=n.pt.get(i)||n.yt.get(i);return r||t(25,i,ln(n)),r}if(un(n)){if(!i)return t(26);var e=n[Tn].it.get(i);return e||t(27,i,ln(n)),e}if(Ln(n)||si(n)||pi(n))return n}else if(o(n)&&pi(n[Tn]))return n[Tn];t(28)}function vn(n,i){return n||t(29),void 0!==i?vn(hn(n,i)):Ln(n)||si(n)||pi(n)||Bi(n)||Ui(n)?n:n[Tn]?n[Tn]:void t(24,n)}function ln(t,n){return(void 0!==n?hn(t,n):un(t)||Bi(t)||Ui(t)?vn(t):hn(t)).l}function dn(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,u){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!o(s)&&"object"!==s&&"object"!=typeof i)return!1;var f=Zi.call(n);if(f!==Zi.call(i))return!1;switch(f){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=bn(n),i=bn(i);var a="[object Array]"===f;if(!a){if("object"!=typeof n||"object"!=typeof i)return!1;var c=n.constructor,h=i.constructor;if(c!==h&&!(o(c)&&c instanceof c&&o(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),u=u||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return u[v]===i;if(e.push(n),u.push(i),a){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,u))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!y(i,l=d[v])||!t(n[l],i[l],r-1,e,u))return!1}return e.pop(),u.pop(),!0}(t,n,i)}function bn(t){return rn(t)?t.slice():v(t)||Bi(t)||l(t)||Ui(t)?Array.from(t.entries()):t}function pn(t){return t[Symbol.iterator]=yn,t}function yn(){return this}function mn(t,n,i){return t.get?$n:!t.set&&(o(t.value)?!(e=null==(r=t.value)?void 0:r.constructor)||"GeneratorFunction"!==e.name&&"GeneratorFunction"!==e.displayName?!wt(t.value)&&(i?Oi.bound:Oi):!kt(t.value)&&Si:n);var r,e}Object.defineProperty(exports,"__esModule",{value:!0});var jn={},xn=Object.assign,wn=Object.getOwnPropertyDescriptor,On=Object.defineProperty,An=Object.prototype,gn=[];Object.freeze(gn);var _n={};Object.freeze(_n);var Sn="undefined"!=typeof Proxy,Mn=""+Object,Vn=function(){},Nn=void 0!==Object.getOwnPropertySymbols,Rn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Nn?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,En=Object.getOwnPropertyDescriptors||function(t){var n={};return Rn(t).forEach((function(i){n[i]=wn(t,i)})),n},kn=Symbol("mobx-stored-annotations"),Tn=Symbol("mobx administration"),Kn=function(){function t(t){void 0===t&&(t="Atom@"+r()),this.l=void 0,this.W=!1,this.F=!1,this.U=new Set,this.G=0,this.J=0,this.H=ei.L,this.onBOL=void 0,this.onBUOL=void 0,this.l=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return dt(this)},n.reportChanged=function(){vt(),bt(this),lt()},n.toString=function(){return this.l},t}(),Ln=h("Atom",Kn),Cn={identity:function(t,n){return t===n},structural:function(t,n){return dn(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return dn(t,n,1)}},In=_({t:"override",u:function(){},s:function(){t("'"+this.t+"' can only be used with 'makeObservable'")}}),Pn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Pn);var Dn=B("observable"),Bn=B("observable.ref",{enhancer:N}),qn=B("observable.shallow",{enhancer:function(t,n,i){return null==t||un(t)||rn(t)||Bi(t)||Ui(t)?t:Array.isArray(t)?Wn.array(t,{name:i,deep:!1}):f(t)?Wn.object(t,void 0,{name:i,deep:!1}):v(t)?Wn.map(t,{name:i,deep:!1}):l(t)?Wn.set(t,{name:i,deep:!1}):void 0}}),Gn=B("observable.struct",{enhancer:function(t,n){return dn(t,n)?n:t}}),Xn=_(Dn);Object.assign(U,Xn);var Hn,Un,Wn=xn(U,{box:function(t,n){var i=X(n);return new ii(t,H(i),i.name,!0,i.equals)},array:function(t,n){var i=X(n);return(!1===li.useProxies||!1===i.proxy?cn:Yt)(t,H(i),i.name)},map:function(t,n){var i=X(n);return new Di(t,H(i),i.name)},set:function(t,n){var i=X(n);return new Hi(t,H(i),i.name)},object:function(t,n,r){return Mt(!1===li.useProxies||!1===(null==r?void 0:r.proxy)?en({},r):function(t,n){var r,e;return i(),null!=(e=(r=(t=en(t,n))[Tn]).p)?e:r.p=new Proxy(t,Mi)}({},r),t,n)},ref:_(Bn),shallow:_(qn),deep:Xn,struct:_(Gn)}),Fn=I("computed"),zn=I("computed.struct",{equals:Cn.structural}),$n=function(t,n){if(u(n))return S(t,n,Fn);if(f(t))return _(I("computed",t));var i=f(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new ui(i)};Object.assign($n,Fn),$n.struct=_(zn);var Jn,Yn=0,Qn=1,Zn=null!=(Hn=null==(Un=wn((function(){}),"name"))?void 0:Un.configurable)&&Hn,ti={value:"action",configurable:!0,writable:!1,enumerable:!1};Jn=Symbol.toPrimitive;var ni,ii=function(t){function n(n,i,e,o,u){var s;return void 0===e&&(e="ObservableValue@"+r()),void 0===u&&(u=Cn.default),(s=t.call(this,e)||this).enhancer=void 0,s.l=void 0,s.equals=void 0,s.jt=!1,s.ut=void 0,s.st=void 0,s.xt=void 0,s.dehancer=void 0,s.enhancer=i,s.l=e,s.equals=u,s.xt=i(n,void 0,e),s}w(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this.wt(t))!==li.UNCHANGED&&this.Ot(t)},i.wt=function(t){if(Ut(this)){var n=Ft(this,{object:this,type:Vi,newValue:t});if(!n)return li.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.xt,this.l),this.equals(this.xt,t)?li.UNCHANGED:t},i.Ot=function(t){var n=this.xt;this.xt=t,this.reportChanged(),zt(this)&&Jt(this,{type:Vi,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.xt)},i.At=function(t){return Wt(this,t)},i.gt=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.l,object:this,type:Vi,newValue:this.xt,oldValue:void 0}),$t(this,t)},i.raw=function(){return this.xt},i.toJSON=function(){return this.get()},i.toString=function(){return this.l+"["+this.xt+"]"},i.valueOf=function(){return p(this.get())},i[Jn]=function(){return this.valueOf()},n}(Kn),ri=h("ObservableValue",ii);ni=Symbol.toPrimitive;var ei,oi,ui=function(){function n(n){this.T=ei.L,this.P=[],this.D=null,this.F=!1,this.W=!1,this.U=new Set,this.G=0,this.q=0,this.J=0,this.H=ei.K,this.B=0,this._t="#"+r(),this.xt=new fi(null),this.l=void 0,this.St=void 0,this.Mt=!1,this.Vt=!1,this.derivation=void 0,this.Nt=void 0,this.ot=oi.NONE,this.Rt=void 0,this.Et=void 0,this.kt=void 0,this.Tt=void 0,this.onBOL=void 0,this.onBUOL=void 0,n.get||t(31),this.derivation=n.get,this.l=n.name||"ComputedValue@"+r(),n.set&&(this.Nt=W(this.l+"-setter",n.set)),this.Et=n.equals||(n.compareStructural||n.struct?Cn.structural:Cn.default),this.Rt=n.context,this.kt=!!n.requiresReaction,this.Tt=!!n.keepAlive}var i=n.prototype;return i.X=function(){!function(t){t.H===ei.K&&(t.H=ei.I,t.U.forEach((function(t){t.T===ei.K&&(t.T=ei.I,t.X())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.Mt&&t(32,this.l,this.derivation),0!==li.inBatch||0!==this.U.size||this.Tt){if(dt(this),tt(this)){var n=li.trackingContext;this.Tt&&!n&&(li.trackingContext=this),this.trackAndCompute()&&function(t){t.H!==ei.C&&(t.H=ei.C,t.U.forEach((function(n){n.T===ei.I?n.T=ei.C:n.T===ei.K&&(t.H=ei.K)})))}(this),li.trackingContext=n}}else tt(this)&&(this.Kt(),vt(),this.xt=this.Lt(!1),lt());var i=this.xt;if(Z(i))throw i.cause;return i},i.set=function(n){if(this.Nt){this.Vt&&t(33,this.l),this.Vt=!0;try{this.Nt.call(this.Rt,n)}finally{this.Vt=!1}}else t(34,this.l)},i.trackAndCompute=function(){var t=this.xt,n=this.T===ei.L,i=this.Lt(!0),r=n||Z(t)||Z(i)||!this.Et(t,i);return r&&(this.xt=i),r},i.Lt=function(t){this.Mt=!0;var n,i=Y(!1);if(t)n=nt(this,this.derivation,this.Rt);else if(!0===li.disableErrorBoundaries)n=this.derivation.call(this.Rt);else try{n=this.derivation.call(this.Rt)}catch(t){n=new fi(t)}return Q(i),this.Mt=!1,n},i.$=function(){this.Tt||(it(this),this.xt=void 0)},i.gt=function(t,n){var i=this,r=!0,e=void 0;return Ot((function(){var o=i.get();if(!r||n){var u=et();t({observableKind:"computed",debugObjectName:i.l,type:Vi,object:i,newValue:o,oldValue:e}),ot(u)}r=!1,e=o}))},i.Kt=function(){},i.toString=function(){return this.l+"["+this.derivation+"]"},i.valueOf=function(){return p(this.get())},i[ni]=function(){return this.valueOf()},n}(),si=h("ComputedValue",ui);!function(t){t[t.L=-1]="NOT_TRACKING_",t[t.K=0]="UP_TO_DATE_",t[t.I=1]="POSSIBLY_STALE_",t[t.C=2]="STALE_"}(ei||(ei={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(oi||(oi={}));var fi=function(t){this.cause=void 0,this.cause=t},ai=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],ci=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},hi=!0,vi=!1,li=function(){var i=n();return i.__mobxInstanceCount>0&&!i.__mobxGlobals&&(hi=!1),i.__mobxGlobals&&i.__mobxGlobals.version!==(new ci).version&&(hi=!1),hi?i.__mobxGlobals?(i.__mobxInstanceCount+=1,i.__mobxGlobals.UNCHANGED||(i.__mobxGlobals.UNCHANGED={}),i.__mobxGlobals):(i.__mobxInstanceCount=1,i.__mobxGlobals=new ci):(setTimeout((function(){vi||t(35)}),1),new ci)}(),di=function(){function t(t,n,i,e){void 0===t&&(t="Reaction@"+r()),void 0===e&&(e=!1),this.l=void 0,this.Ct=void 0,this.It=void 0,this.Pt=void 0,this.P=[],this.D=[],this.T=ei.L,this.G=0,this.q=0,this.B=0,this._t="#"+r(),this.Z=!1,this.Dt=!1,this.Bt=!1,this.qt=!1,this.ot=oi.NONE,this.l=t,this.Ct=n,this.It=i,this.Pt=e}var n=t.prototype;return n.X=function(){this.tt()},n.tt=function(){this.Dt||(this.Dt=!0,li.pendingReactions.push(this),pt())},n.isScheduled=function(){return this.Dt},n.Y=function(){if(!this.Z){vt(),this.Dt=!1;var t=li.trackingContext;if(li.trackingContext=this,tt(this)){this.Bt=!0;try{this.Ct()}catch(t){this.Gt(t)}}li.trackingContext=t,lt()}},n.track=function(t){if(!this.Z){vt(),this.qt=!0;var n=li.trackingContext;li.trackingContext=this;var i=nt(this,t,void 0);li.trackingContext=n,this.qt=!1,this.Bt=!1,this.Z&&it(this),Z(i)&&this.Gt(i.cause),lt()}},n.Gt=function(t){var n=this;if(this.It)this.It(t,this);else{if(li.disableErrorBoundaries)throw t;li.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),li.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.Z||(this.Z=!0,this.qt||(vt(),it(this),lt()))},n.nt=function(){var t=this.dispose.bind(this);return t[Tn]=this,t},n.toString=function(){return"Reaction["+this.l+"]"},n.trace=function(t){void 0===t&&(t=!1),Dt(this,t)},t}(),bi=function(t){return t()},pi=h("Reaction",di),yi=R("action"),mi=R("action.bound",{bound:!0}),ji=R("autoAction",{autoAction:!0}),xi=R("autoAction.bound",{autoAction:!0,bound:!0}),wi=jt(!1);Object.assign(wi,yi);var Oi=jt(!0);Object.assign(Oi,ji),wi.bound=_(mi),Oi.bound=_(xi);var Ai=function(t){return t()},gi=0;Rt.prototype=Object.create(Error.prototype);var _i={t:"flow",o:void 0,u:K,s:L},Si=Object.assign((function(t,n){if(u(n))return S(t,n,_i);var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,u=++gi,s=wi(r+" - runid: "+u+" - init",i).apply(n,e),f=void 0,a=new Promise((function(n,i){function e(t){var n;f=void 0;try{n=wi(r+" - runid: "+u+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}c(n)}function a(t){var n;f=void 0;try{n=wi(r+" - runid: "+u+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}c(n)}function c(t){if(!o(null==t?void 0:t.then))return t.done?n(t.value):(f=Promise.resolve(t.value)).then(e,a);t.then(c,i)}var h=0;t=i,e(void 0)}));return a.cancel=wi(r+" - runid: "+u+" - cancel",(function(){try{f&&Et(f);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(Vn,Vn),Et(i),t(new Rt)}catch(n){t(n)}})),a};return e.isMobXFlow=!0,e}),_i),Mi={has:function(t,n){return Ht(t).et(n)},get:function(t,n){return Ht(t).lt(n)},set:function(t,n,i){var r;return!!u(n)&&(null==(r=Ht(t).dt(n,i,!0))||r)},deleteProperty:function(t,n){var i;return!!u(n)&&(null==(i=Ht(t).Xt(n,!0))||i)},defineProperty:function(t,n,i){var r;return null==(r=Ht(t).v(n,i))||r},ownKeys:function(t){return Ht(t).Ht()},preventExtensions:function(){t(13)}},Vi="update",Ni={get:function(t,n){var i=t[Tn];return n===Tn?i:"length"===n?i.Ut():"string"!=typeof n||isNaN(n)?y(Ei,n)?Ei[n]:t[n]:i.lt(parseInt(n))},set:function(t,n,i){var r=t[Tn];return"length"===n&&r.Wt(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.dt(parseInt(n),i),!0},preventExtensions:function(){t(15)}},Ri=function(){function n(t,n,i,e){this.Ft=void 0,this.zt=void 0,this.at=void 0,this.it=[],this.ut=void 0,this.st=void 0,this.$t=void 0,this.dehancer=void 0,this.p=void 0,this.Jt=0,this.Ft=i,this.zt=e,this.at=new Kn(t||"ObservableArray@"+r()),this.$t=function(i,r){return n(i,r,t+"[..]")}}var i=n.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.ct=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.At=function(t){return Wt(this,t)},i.gt=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.p,debugObjectName:this.at.l,type:"splice",index:0,added:this.it.slice(),addedCount:this.it.length,removed:[],removedCount:0}),$t(this,t)},i.Ut=function(){return this.at.reportObserved(),this.it.length},i.Wt=function(n){("number"!=typeof n||n<0)&&t("Out of range: "+n);var i=this.it.length;if(n!==i)if(n>i){for(var r=Array(n-i),e=0;e<n-i;e++)r[e]=void 0;this.ft(i,0,r)}else this.ft(n,i-n)},i.Qt=function(n,i){n!==this.Jt&&t(16),this.Jt+=i,this.zt&&i>0&&an(n+i+1)},i.ft=function(t,n,i){var r=this,e=this.it.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=gn),Ut(this)){var o=Ft(this,{object:this.p,type:"splice",index:t,removedCount:n,added:i});if(!o)return gn;n=o.removedCount,i=o.added}if(i=0===i.length?i:i.map((function(t){return r.$t(t,void 0)})),this.zt){var u=i.length-n;this.Qt(e,u)}var s=this.Zt(t,n,i);return 0===n&&0===i.length||this.tn(t,i,s),this.ct(s)},i.Zt=function(t,n,i){var r;if(i.length<1e4)return(r=this.it).splice.apply(r,[t,n].concat(i));var e=this.it.slice(t,t+n),o=this.it.slice(t+n);this.it.length=t+i.length-n;for(var u=0;u<i.length;u++)this.it[t+u]=i[u];for(var s=0;s<o.length;s++)this.it[t+i.length+s]=o[s];return e},i.nn=function(t,n,i){var r=!this.Ft&&!1,e=zt(this),o=e||r?{observableKind:"array",object:this.p,type:Vi,debugObjectName:this.at.l,index:t,newValue:n,oldValue:i}:null;this.at.reportChanged(),e&&Jt(this,o)},i.tn=function(t,n,i){var r=!this.Ft&&!1,e=zt(this),o=e||r?{observableKind:"array",object:this.p,debugObjectName:this.at.l,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.at.reportChanged(),e&&Jt(this,o)},i.lt=function(t){if(t<this.it.length)return this.at.reportObserved(),this.Yt(this.it[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.it.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.dt=function(n,i){var r=this.it;if(n<r.length){var e=r[n];if(Ut(this)){var o=Ft(this,{type:Vi,object:this.p,index:n,newValue:i});if(!o)return;i=o.newValue}(i=this.$t(i,e))!==e&&(r[n]=i,this.nn(n,i,e))}else n===r.length?this.ft(n,0,[i]):t(17,n,r.length)},n}(),Ei={clear:function(){return this.splice(0)},replace:function(t){var n=this[Tn];return n.ft(0,n.it.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var o=this[Tn];switch(arguments.length){case 0:return[];case 1:return o.ft(t);case 2:return o.ft(t,n)}return o.ft(t,n,r)},spliceWithArray:function(t,n,i){return this[Tn].ft(t,n,i)},push:function(){for(var t=this[Tn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ft(t.it.length,0,i),t.it.length},pop:function(){return this.splice(Math.max(this[Tn].it.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[Tn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ft(0,0,i),t.it.length},reverse:function(){return li.trackingDerivation&&t(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){li.trackingDerivation&&t(37,"sort");var n=this.slice();return n.sort.apply(n,arguments),this.replace(n),this},remove:function(t){var n=this[Tn],i=n.ct(n.it).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};Qt("concat",Zt),Qt("flat",Zt),Qt("includes",Zt),Qt("indexOf",Zt),Qt("join",Zt),Qt("lastIndexOf",Zt),Qt("slice",Zt),Qt("toString",Zt),Qt("toLocaleString",Zt),Qt("every",tn),Qt("filter",tn),Qt("find",tn),Qt("findIndex",tn),Qt("flatMap",tn),Qt("forEach",tn),Qt("map",tn),Qt("some",tn),Qt("reduce",nn),Qt("reduceRight",nn);var ki,Ti,Ki=h("ObservableArrayAdministration",Ri),Li={},Ci="add";ki=Symbol.iterator,Ti=Symbol.toStringTag;var Ii,Pi,Di=function(){function n(n,i,e){void 0===i&&(i=V),void 0===e&&(e="ObservableMap@"+r()),this.$t=void 0,this.l=void 0,this[Tn]=Li,this.pt=void 0,this.yt=void 0,this.bt=void 0,this.ut=void 0,this.st=void 0,this.dehancer=void 0,this.$t=i,this.l=e,o(Map)||t(18),this.bt=M(this.l+".keys()"),this.pt=new Map,this.yt=new Map,this.merge(n)}var i=n.prototype;return i.et=function(t){return this.pt.has(t)},i.has=function(t){var n=this;if(!li.trackingDerivation)return this.et(t);var i=this.yt.get(t);if(!i){var r=i=new ii(this.et(t),N,this.l+"."+b(t)+"?",!1);this.yt.set(t,r),_t(r,(function(){return n.yt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.et(t);if(Ut(this)){var r=Ft(this,{type:i?Vi:Ci,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.in(t,n):this.rn(t,n),this},i.delete=function(t){var n=this;if(Ut(this)&&!Ft(this,{type:"delete",object:this,name:t}))return!1;if(this.et(t)){var i=zt(this),r=i?{observableKind:"map",debugObjectName:this.l,type:"delete",object:this,oldValue:this.pt.get(t).xt,name:t}:null;return qt((function(){n.bt.reportChanged(),n.en(t,!1),n.pt.get(t).Ot(void 0),n.pt.delete(t)})),i&&Jt(this,r),!0}return!1},i.en=function(t,n){var i=this.yt.get(t);i&&i.Ot(n)},i.in=function(t,n){var i=this.pt.get(t);if((n=i.wt(n))!==li.UNCHANGED){var r=zt(this),e=r?{observableKind:"map",debugObjectName:this.l,type:Vi,object:this,oldValue:i.xt,name:t,newValue:n}:null;i.Ot(n),r&&Jt(this,e)}},i.rn=function(t,n){var i=this;qt((function(){var r=new ii(n,i.$t,i.l+"."+b(t),!1);i.pt.set(t,r),n=r.xt,i.en(t,!0),i.bt.reportChanged()}));var r=zt(this);r&&Jt(this,r?{observableKind:"map",debugObjectName:this.l,type:Ci,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Yt(this.pt.get(t).get()):this.Yt(void 0)},i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.bt.reportObserved(),this.pt.keys()},i.values=function(){var t=this,n=this.keys();return pn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return pn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[ki]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=g(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(n){var i=this;return Bi(n)&&(n=new Map(n)),qt((function(){f(n)?d(n).forEach((function(t){return i.set(t,n[t])})):Array.isArray(n)?n.forEach((function(t){return i.set(t[0],t[1])})):v(n)?(n.constructor!==Map&&t(19,n),n.forEach((function(t,n){return i.set(n,t)}))):null!=n&&t(20,n)})),this},i.clear=function(){var t=this;qt((function(){rt((function(){for(var n,i=g(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(n){var i=this;return qt((function(){for(var r,e=function(n){if(v(n)||Bi(n))return n;if(Array.isArray(n))return new Map(n);if(f(n)){var i=new Map;for(var r in n)i.set(r,n[r]);return i}return t(21,n)}(n),o=new Map,u=!1,s=g(i.pt.keys());!(r=s()).done;){var a=r.value;if(!e.has(a))if(i.delete(a))u=!0;else{var c=i.pt.get(a);o.set(a,c)}}for(var h,l=g(e.entries());!(h=l()).done;){var d=h.value,b=d[0],p=d[1],y=i.pt.has(b);if(i.set(b,p),i.pt.has(b)){var m=i.pt.get(b);o.set(b,m),y||(u=!0)}}if(!u)if(i.pt.size!==o.size)i.bt.reportChanged();else for(var j=i.pt.keys(),x=o.keys(),w=j.next(),O=x.next();!w.done;){if(w.value!==O.value){i.bt.reportChanged();break}w=j.next(),O=x.next()}i.pt=o})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i.gt=function(t){return $t(this,t)},i.At=function(t){return Wt(this,t)},j(n,[{key:"size",get:function(){return this.bt.reportObserved(),this.pt.size}},{key:Ti,get:function(){return"Map"}}]),n}(),Bi=h("ObservableMap",Di),qi={};Ii=Symbol.iterator,Pi=Symbol.toStringTag;var Gi,Xi,Hi=function(){function n(n,i,e){void 0===i&&(i=V),void 0===e&&(e="ObservableSet@"+r()),this.l=void 0,this[Tn]=qi,this.pt=new Set,this.at=void 0,this.st=void 0,this.ut=void 0,this.dehancer=void 0,this.$t=void 0,this.l=e,o(Set)||t(22),this.at=M(this.l),this.$t=function(t,n){return i(t,n,e)},n&&this.replace(n)}var i=n.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;qt((function(){rt((function(){for(var n,i=g(t.pt.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=g(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(Ut(this)&&!Ft(this,{type:Ci,object:this,newValue:t}))return this;if(!this.has(t)){qt((function(){n.pt.add(n.$t(t,void 0)),n.at.reportChanged()}));var i=zt(this);i&&Jt(this,i?{observableKind:"set",debugObjectName:this.l,type:Ci,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(Ut(this)&&!Ft(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=zt(this),r=i?{observableKind:"set",debugObjectName:this.l,type:"delete",object:this,oldValue:t}:null;return qt((function(){n.at.reportChanged(),n.pt.delete(t)})),i&&Jt(this,r),!0}return!1},i.has=function(t){return this.at.reportObserved(),this.pt.has(this.Yt(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return pn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.at.reportObserved();var t=this,n=0,i=Array.from(this.pt.values());return pn({next:function(){return n<i.length?{value:t.Yt(i[n++]),done:!1}:{done:!0}}})},i.replace=function(n){var i=this;return Ui(n)&&(n=new Set(n)),qt((function(){Array.isArray(n)||l(n)?(i.clear(),n.forEach((function(t){return i.add(t)}))):null!=n&&t("Cannot initialize set from "+n)})),this},i.gt=function(t){return $t(this,t)},i.At=function(t){return Wt(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[Ii]=function(){return this.values()},j(n,[{key:"size",get:function(){return this.at.reportObserved(),this.pt.size}},{key:Pi,get:function(){return"Set"}}]),n}(),Ui=h("ObservableSet",Hi),Wi=Symbol("mobx-inferred-annotations"),Fi=Object.create(null),zi=function(){function n(t,n,i,r,e){void 0===n&&(n=new Map),void 0===r&&(r=Wn),void 0===e&&(e=!1),this.h=void 0,this.it=void 0,this.l=void 0,this.on=void 0,this.un=void 0,this.bt=void 0,this.st=void 0,this.ut=void 0,this.p=void 0,this.m=void 0,this.sn=void 0,this.fn=void 0,this.h=t,this.it=n,this.l=i,this.on=r,this.un=e,this.bt=new Kn(i+".keys"),this.m=f(this.h)}var i=n.prototype;return i.ht=function(t){return this.it.get(t).get()},i.vt=function(t,n){var i=this.it.get(t);if(i instanceof ui)return i.set(n),!0;if(Ut(this)){var r=Ft(this,{type:Vi,object:this.p||this.h,name:t,newValue:n});if(!r)return null;n=r.newValue}if((n=i.wt(n))!==li.UNCHANGED){var e=zt(this),o=e?{type:Vi,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,oldValue:i.xt,name:t,newValue:n}:null;i.Ot(n),e&&Jt(this,o)}return!0},i.lt=function(t){return li.trackingDerivation&&!y(this.h,t)&&this.et(t),this.h[t]},i.dt=function(t,n,i){return void 0===i&&(i=!1),y(this.h,t)?this.it.has(t)?this.vt(t,n):i?Reflect.set(this.h,t,n):(this.h[t]=n,!0):this.s(t,{value:n,enumerable:!0,writable:!0,configurable:!0},this.on,i)},i.et=function(t){if(!li.trackingDerivation)return t in this.h;this.fn||(this.fn=new Map);var n=this.fn.get(t);return n||(n=new ii(t in this.h,N,this.l+"."+b(t)+"?",!1),this.fn.set(t,n)),n.get()},i.u=function(t,n){!0===n&&(n=this.an(t)),!1!==n&&n.u(this,t)},i.s=function(t,n,i,r){if(void 0===r&&(r=!1),!0===i&&(i=mn(n,this.on,this.un)),!1===i)return this.v(t,n,r);var e=i.s(this,t,n,r);return e&&sn(this,i,t),e},i.an=function(n){var i,r=null==(i=this.h[Wi])?void 0:i[n];if(r)return r;for(var e=this.h;e&&e!==An;){var o=wn(e,n);if(o){r=mn(o,this.on,this.un);break}e=Object.getPrototypeOf(e)}if(void 0===r&&t(1,"true",n),!this.m){var u=Object.getPrototypeOf(this.h);y(u,Wi)||a(u,Wi,{}),u[Wi][n]=r}return r},i.v=function(t,n,i){void 0===i&&(i=!1);try{vt();var r=this.Xt(t);if(!r)return r;if(Ut(this)){var e=Ft(this,{object:this.p||this.h,name:t,type:Ci,newValue:n.value});if(!e)return null;var o=e.newValue;n.value!==o&&(n=x({},n,{value:o}))}if(i){if(!Reflect.defineProperty(this.h,t,n))return!1}else On(this.h,t,n);this.cn(t,n.value)}finally{lt()}return!0},i.O=function(t,n,i,r){void 0===r&&(r=!1);try{vt();var e=this.Xt(t);if(!e)return e;if(Ut(this)){var o=Ft(this,{object:this.p||this.h,name:t,type:Ci,newValue:n});if(!o)return null;n=o.newValue}var u=on(t),s={configurable:this.m,enumerable:!0,get:u.get,set:u.set};if(r){if(!Reflect.defineProperty(this.h,t,s))return!1}else On(this.h,t,s);var f=new ii(n,i,this.l+"."+b(t),!1);this.it.set(t,f),this.cn(t,f.xt)}finally{lt()}return!0},i.j=function(t,n,i){void 0===i&&(i=!1);try{vt();var r=this.Xt(t);if(!r)return r;if(Ut(this)&&!Ft(this,{object:this.p||this.h,name:t,type:Ci,newValue:void 0}))return null;n.name||(n.name=this.l+"."+b(t)),n.context=this.p||this.h;var e=on(t),o={configurable:this.m,enumerable:!1,get:e.get,set:e.set};if(i){if(!Reflect.defineProperty(this.h,t,o))return!1}else On(this.h,t,o);this.it.set(t,new ui(n)),this.cn(t,void 0)}finally{lt()}return!0},i.Xt=function(t,n){if(void 0===n&&(n=!1),!y(this.h,t))return!0;if(Ut(this)&&!Ft(this,{object:this.p||this.h,name:t,type:"remove"}))return null;try{var i,r;vt();var e,o=zt(this),u=this.it.get(t),s=void 0;if(!u&&o&&(s=null==(e=wn(this.h,t))?void 0:e.value),n){if(!Reflect.deleteProperty(this.h,t))return!1}else delete this.h[t];u&&(this.it.delete(t),u instanceof ii&&(s=u.xt),bt(u)),this.bt.reportChanged(),null==(i=this.fn)||null==(r=i.get(t))||r.set(t in this.h),o&&o&&Jt(this,{type:"remove",observableKind:"object",object:this.p||this.h,debugObjectName:this.l,oldValue:s,name:t})}finally{lt()}return!0},i.gt=function(t){return $t(this,t)},i.At=function(t){return Wt(this,t)},i.cn=function(t,n){var i,r,e=zt(this);e&&e&&Jt(this,e?{type:Ci,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,name:t,newValue:n}:null),null==(i=this.fn)||null==(r=i.get(t))||r.set(!0),this.bt.reportChanged()},i.Ht=function(){return this.bt.reportObserved(),Rn(this.h)},i.rt=function(){return this.bt.reportObserved(),Object.keys(this.h)},n}(),$i=h("ObservableObjectAdministration",zi),Ji=0,Yi=function(){};Gi=Yi,Xi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Gi.prototype,Xi):void 0!==Gi.prototype.__proto__?Gi.prototype.__proto__=Xi:Gi.prototype=Xi;var Qi=function(t){function n(n,i,e,o){var u;void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),u=t.call(this)||this;var s=new Ri(e,i,o,!0);if(s.p=O(u),c(O(u),Tn,s),n&&n.length){var f=Y(!0);u.spliceWithArray(0,0,n),Q(f)}return u}w(n,t);var i=n.prototype;return i.concat=function(){this[Tn].at.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return rn(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return pn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},j(n,[{key:"length",get:function(){return this[Tn].Ut()},set:function(t){this[Tn].Wt(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(Yi);Object.entries(Ei).forEach((function(t){var n=t[0];"concat"!==n&&a(Qi.prototype,n,t[1])})),an(1e3);var Zi=An.toString;["Symbol","Map","Set","Symbol"].forEach((function(i){void 0===n()[i]&&t("MobX requires global '"+i+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:mt,extras:{getDebugName:ln},$mobx:Tn}),exports.$mobx=Tn,exports.FlowCancellationError=Rt,exports.ObservableMap=Di,exports.ObservableSet=Hi,exports.Reaction=di,exports._allowStateChanges=J,exports._allowStateChangesInsideComputed=xt,exports._allowStateReadsEnd=st,exports._allowStateReadsStart=ut,exports._autoAction=Oi,exports._endAction=$,exports._getAdministration=vn,exports._getGlobalState=function(){return li},exports._interceptReads=function(t,n,i){var r;return Bi(t)||rn(t)||ri(t)?r=vn(t):un(t)&&(r=vn(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}},exports._isComputingDerivation=function(){return null!==li.trackingDerivation},exports._resetGlobalState=function(){var t=new ci;for(var n in t)-1===ai.indexOf(n)&&(li[n]=t[n]);li.allowStateChanges=!li.enforceActions},exports._startAction=z,exports.action=wi,exports.autorun=Ot,exports.comparer=Cn,exports.computed=$n,exports.configure=function(i){!0===i.isolateGlobalState&&function(){if((li.pendingReactions.length||li.inBatch||li.isRunningReactions)&&t(36),vi=!0,hi){var i=n();0==--i.__mobxInstanceCount&&(i.__mobxGlobals=void 0),li=new ci}}();var r,e,o=i.useProxies,u=i.enforceActions;if(void 0!==o&&(li.useProxies="always"===o||"never"!==o&&"undefined"!=typeof Proxy),"ifavailable"===o&&(li.verifyProxies=!0),void 0!==u){var s="always"===u?"always":"observed"===u;li.enforceActions=s,li.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(t){t in i&&(li[t]=!!i[t])})),li.allowStateReads=!li.observableRequiresReaction,i.reactionScheduler&&(r=i.reactionScheduler,e=bi,bi=function(t){return r((function(){return e(t)}))})},exports.createAtom=M,exports.entries=function(n){return un(n)?Ct(n).map((function(t){return[t,n[t]]})):Bi(n)?Ct(n).map((function(t){return[t,n.get(t)]})):Ui(n)?Array.from(n.entries()):rn(n)?n.map((function(t,n){return[n,t]})):void t(7)},exports.extendObservable=Mt,exports.flow=Si,exports.flowResult=function(t){return t},exports.get=function(n,i){if(It(n,i))return un(n)?n[Tn].lt(i):Bi(n)?n.get(i):rn(n)?n[i]:void t(11)},exports.getAtom=hn,exports.getDebugName=ln,exports.getDependencyTree=function(t,n){return Vt(hn(t,n))},exports.getObserverTree=function(t,n){return Nt(hn(t,n))},exports.has=It,exports.intercept=function(t,n,i){return o(i)?function(t,n,i){return vn(t,n).At(i)}(t,n,i):function(t,n){return vn(t).At(n)}(t,n)},exports.isAction=wt,exports.isBoxedObservable=ri,exports.isComputed=function(t){return Tt(t)},exports.isComputedProp=function(t,n){return Tt(t,n)},exports.isFlowCancellationError=function(t){return t instanceof Rt},exports.isObservable=Lt,exports.isObservableArray=rn,exports.isObservableMap=Bi,exports.isObservableObject=un,exports.isObservableProp=function(t,n){return Kt(t,n)},exports.isObservableSet=Ui,exports.keys=Ct,exports.makeAutoObservable=function(t,n,i){if(f(t))return Mt(t,t,n,i);var r=en(t,i)[Tn];vt();try{if(t[Wi])for(var e in t[Wi])r.u(e,t[Wi][e]);else for(var o,u=((o={})[Tn]=1,o.constructor=1,o),s=function(t){u[t]||(u[t]=1,r.u(t,!n||!(t in n)||n[t]))},a=t;a&&a!==An;)Rn(a).forEach(s),a=Object.getPrototypeOf(a)}finally{lt()}return t},exports.makeObservable=function(t,n,i){var r=en(t,i)[Tn];vt();try{null!=n||(n=function(t){return y(t,kn)||a(t,kn,x({},t[kn])),t[kn]}(t)),Rn(n).forEach((function(t){return r.u(t,n[t])}))}finally{lt()}return t},exports.observable=Wn,exports.observe=function(t,n,i,r){return o(i)?function(t,n,i,r){return vn(t,n).gt(i,r)}(t,n,i,r):function(t,n,i){return vn(t).gt(n,i)}(t,n,i)},exports.onBecomeObserved=gt,exports.onBecomeUnobserved=_t,exports.onReactionError=function(t){return li.globalReactionErrorHandlers.push(t),function(){var n=li.globalReactionErrorHandlers.indexOf(t);n>=0&&li.globalReactionErrorHandlers.splice(n,1)}},exports.override=In,exports.reaction=function(t,n,i){function e(){if(l=!1,!p.Z){var n=!1;p.track((function(){var i=J(!1,(function(){return t(p)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&a(s,d,p),v=!1}}void 0===i&&(i=_n);var o,u,s,f=i.name||"Reaction@"+r(),a=wi(f,i.onError?(o=i.onError,u=n,function(){try{return u.apply(this,arguments)}catch(t){o.call(this,t)}}):n),c=!i.scheduler&&!i.delay,h=At(i),v=!0,l=!1,d=void 0,b=i.compareStructural?Cn.structural:i.equals||Cn.default,p=new di(f,(function(){v||c?e():l||(l=!0,h(e))}),i.onError,i.requiresObservable);return p.tt(),p.nt()},exports.remove=function(n,i){un(n)?n[Tn].Xt(i):Bi(n)||Ui(n)?n.delete(i):rn(n)?("number"!=typeof i&&(i=parseInt(i,10)),n.splice(i,1)):t(9)},exports.runInAction=xt,exports.set=function n(i,r,e){if(2!==arguments.length||Ui(i))un(i)?i[Tn].dt(r,e):Bi(i)?i.set(r,e):Ui(i)?i.add(r):rn(i)?("number"!=typeof r&&(r=parseInt(r,10)),r<0&&t("Invalid index: '"+r+"'"),vt(),r>=i.length&&(i.length=r+1),i[r]=e,lt()):t(8);else{vt();var o=r;try{for(var u in o)n(i,u,o[u])}finally{lt()}}},exports.spy=mt,exports.toJS=function(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!Lt(n))return n;if(ri(n))return t(n.get(),i);if(i.has(n))return i.get(n);if(rn(n)){var r=Pt(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if(Ui(n)){var e=Pt(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(Bi(n)){var o=Pt(i,n,new Map);return n.forEach((function(n,r){o.set(r,t(n,i))})),o}Ct(n);var u=Pt(i,n,{});return d(n).forEach((function(r){u[r]=t(n[r],i)})),u}(t,new Map)},exports.trace=Dt,exports.transaction=qt,exports.untracked=rt,exports.values=function(n){return un(n)?Ct(n).map((function(t){return n[t]})):Bi(n)?Ct(n).map((function(t){return n.get(t)})):Ui(n)?Array.from(n.values()):rn(n)?n.slice():void t(6)},exports.when=function(t,n,i){return 1===arguments.length||n&&"object"==typeof n?Xt(t,n):Gt(t,n,i||{})};
//# sourceMappingURL=mobx.cjs.production.min.js.map
export { IObservable, IDepTreeNode, Reaction, IReactionPublic, IReactionDisposer, untracked, IAtom, createAtom, spy, IComputedValue, IEqualsComparer, comparer, IEnhancer, IInterceptable, IInterceptor, IListenable, IObjectWillChange, IObjectDidChange, isObservableObject, IValueDidChange, IValueWillChange, IObservableValue, isObservableValue as isBoxedObservable, IObservableArray, IArrayWillChange, IArrayWillSplice, IArraySplice, IArrayUpdate, IArrayDidChange, isObservableArray, IKeyValueMap, ObservableMap, IMapEntries, IMapEntry, IMapWillChange, IMapDidChange, isObservableMap, IObservableMapInitialValues, ObservableSet, isObservableSet, ISetDidChange, ISetWillChange, IObservableSetInitialValues, transaction, observable, IObservableFactory, CreateObservableOptions, computed, isObservable, isObservableProp, isComputed, isComputedProp, extendObservable, observe, intercept, autorun, IAutorunOptions, reaction, IReactionOptions, when, IWhenOptions, action, isAction, runInAction, IActionFactory, keys, values, entries, set, remove, has, get, configure, onBecomeObserved, onBecomeUnobserved, flow, flowResult, FlowCancellationError, isFlowCancellationError, toJS, trace, IObserverTree, IDependencyTree, getDependencyTree, getObserverTree, resetGlobalState as _resetGlobalState, getGlobalState as _getGlobalState, getDebugName, getAtom, getAdministration as _getAdministration, allowStateChanges as _allowStateChanges, runInAction as _allowStateChangesInsideComputed, // This has become the default behavior in Mobx 6
Lambda, $mobx, isComputingDerivation as _isComputingDerivation, onReactionError, interceptReads as _interceptReads, IComputedValueOptions, IActionRunInfo, _startAction, _endAction, allowStateReadsStart as _allowStateReadsStart, allowStateReadsEnd as _allowStateReadsEnd, makeObservable, makeAutoObservable, autoAction as _autoAction, AnnotationsMap, AnnotationMapEntry } from "./internal";
Lambda, $mobx, isComputingDerivation as _isComputingDerivation, onReactionError, interceptReads as _interceptReads, IComputedValueOptions, IActionRunInfo, _startAction, _endAction, allowStateReadsStart as _allowStateReadsStart, allowStateReadsEnd as _allowStateReadsEnd, makeObservable, makeAutoObservable, autoAction as _autoAction, AnnotationsMap, AnnotationMapEntry, override } from "./internal";

@@ -1,2 +0,2 @@

function t(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function n(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:Cn}function i(){Dn||t("Proxy not available")}function r(){return++ji.mobxGuid}function e(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function o(t){return"function"==typeof t}function u(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function s(t){return null!==t&&"object"==typeof t}function a(t){var n;if(!s(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===Gn}function c(t){var n=null==t?void 0:t.constructor;return!!n&&("GeneratorFunction"===n.name||"GeneratorFunction"===n.displayName)}function f(t,n,i){In(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function h(t,n,i){In(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function v(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return s(t)&&!0===t[i]}}function l(t){return t instanceof Map}function d(t){return t instanceof Set}function b(t){var n=Object.keys(t);if(!Xn)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return Kn.propertyIsEnumerable.call(t,n)}))):n}function y(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function p(t){return null===t?null:"object"==typeof t?""+t:t}function m(t,n){return Kn.hasOwnProperty.call(t,n)}function w(t){return Tn((function(n,i){void 0===i?O(t,n):j(n,i,t)}),{t:t})}function O(t,n){return Tn((function(i,r){j(i,r,t,n)}),{t:t,i:n})}function j(t,n,i,r){var e,o=kn(t,Hn);o?e=o.value:f(t,Hn,e={}),e[n]={t:i,i:r}}function A(t,n,i){void 0===n&&(n=qn),void 0===i&&(i=qn);var r=new $n(t);return n!==qn&&mt(r,n),i!==qn&&wt(r,i),r}function g(t,n,i){return Lt(t)?t:Array.isArray(t)?ii.array(t,{name:i}):a(t)?ii.object(t,void 0,{name:i}):l(t)?ii.map(t,{name:i}):d(t)?ii.set(t,{name:i}):t}function S(t){return t}function _(t){return t||Qn}function x(t){return!0===t.deep?g:!1===t.deep?S:M(t.defaultDecorator)}function M(n){var i;return n?null!=(i=Zn[n.t])?i:t(12):g}function R(t,n,i){if(!u(n))return Lt(t)?t:a(t)?ii.object(t,n,i):Array.isArray(t)?ii.array(t,n):l(t)?ii.map(t,n):d(t)?ii.set(t,n):"object"==typeof t&&null!==t?t:ii.box(t);j(t,n,"observable")}function E(t,n,i,r){function e(){return N(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,si&&(ai.value=t,Object.defineProperty(e,"name",ai)),e}function N(t,n,i,r,e){var o=V(0,n);try{return i.apply(r,e)}catch(t){throw o.o=t,t}finally{C(o)}}function V(t,n){var i=ji.trackingDerivation,r=!n||!i;ot();var e=ji.allowStateChanges;r&&($(),e=k(!0));var o={u:r,s:i,h:e,v:Y(!0),l:!1,p:0,m:ui++,O:oi};return oi=o.m,o}function C(n){oi!==n.m&&t(30),oi=n.O,void 0!==n.o&&(ji.suppressReactionErrors=!0),I(n.h),Q(n.v),ut(),n.u&&J(n.s),ji.suppressReactionErrors=!1}function T(t,n){var i=k(t);try{return n()}finally{I(i)}}function k(t){var n=ji.allowStateChanges;return ji.allowStateChanges=t,n}function I(t){ji.allowStateChanges=t}function K(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function L(t,n,i){return n&&K(t.prototype,n),i&&K(t,i),t}function P(){return(P=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function B(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function D(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function G(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function q(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return G(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?G(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function X(t){return t instanceof yi}function F(t){switch(t.j){case vi.A:return!1;case vi.g:case vi.S:return!0;case vi._:for(var n=Y(!0),i=$(),r=t.M,e=r.length,o=0;o<e;o++){var u=r[o];if(bi(u)){if(ji.disableErrorBoundaries)u.get();else try{u.get()}catch(t){return J(i),Q(n),!0}if(t.j===vi.S)return J(i),Q(n),!0}}return Z(t),J(i),Q(n),!1}}function U(){return null!==ji.trackingDerivation}function H(t,n,i){var r=Y(!0);Z(t),t.R=Array(t.M.length+100),t.N=0,t.V=++ji.runId;var e,o=ji.trackingDerivation;if(ji.trackingDerivation=t,ji.inBatch++,!0===ji.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new yi(t)}return ji.inBatch--,ji.trackingDerivation=o,function(t){for(var n=t.M,i=t.M=t.R,r=vi.A,e=0,o=t.N,u=0;u<o;u++){var s=i[u];0===s.C&&(s.C=1,e!==u&&(i[e]=s),e++),s.j>r&&(r=s.j)}for(i.length=e,t.R=null,o=n.length;o--;){var a=n[o];0===a.C&&rt(a,t),a.C=0}for(;e--;){var c=i[e];1===c.C&&(c.C=0,it(c,t))}r!==vi.A&&(t.j=r,t.T())}(t),Q(r),e}function W(t){var n=t.M;t.M=[];for(var i=n.length;i--;)rt(n[i],t);t.j=vi.g}function z(t){var n=$();try{return t()}finally{J(n)}}function $(){var t=ji.trackingDerivation;return ji.trackingDerivation=null,t}function J(t){ji.trackingDerivation=t}function Y(t){var n=ji.allowStateReads;return ji.allowStateReads=t,n}function Q(t){ji.allowStateReads=t}function Z(t){if(t.j!==vi.A){t.j=vi.A;for(var n=t.M,i=n.length;i--;)n[i].k=vi.A}}function tt(){return ji}function nt(){var t=new mi;for(var n in t)-1===pi.indexOf(n)&&(ji[n]=t[n]);ji.allowStateChanges=!ji.enforceActions}function it(t,n){t.I.add(n),t.k>n.j&&(t.k=n.j)}function rt(t,n){t.I.delete(n),0===t.I.size&&et(t)}function et(t){!1===t.K&&(t.K=!0,ji.pendingUnobservations.push(t))}function ot(){ji.inBatch++}function ut(){if(0==--ji.inBatch){ct();for(var t=ji.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.K=!1,0===i.I.size&&(i.L&&(i.L=!1,i.onBUO()),i instanceof di&&i.P())}ji.pendingUnobservations=[]}}function st(t){var n=ji.trackingDerivation;return null!==n?(n.V!==t.B&&(t.B=n.V,n.R[n.N++]=t,!t.L&&ji.trackingContext&&(t.L=!0,t.onBO())),!0):(0===t.I.size&&ji.inBatch>0&&et(t),!1)}function at(t){return ji.globalReactionErrorHandlers.push(t),function(){var n=ji.globalReactionErrorHandlers.indexOf(t);n>=0&&ji.globalReactionErrorHandlers.splice(n,1)}}function ct(){ji.inBatch>0||ji.isRunningReactions||gi(ft)}function ft(){ji.isRunningReactions=!0;for(var t=ji.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].D()}ji.isRunningReactions=!1}function ht(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function vt(t,n){var i=function(i,r){return o(i)?E(i.name||"<unnamed action>",i,t):o(r)?E(i,r,t):u(r)?j(i,r,n):u(i)?O(n,i):void 0};return i.t=n,i}function lt(t){return N(0,!1,t,this,void 0)}function dt(t){return o(t)&&!0===t.isMobxAction}function bt(t,n){function i(){t(e)}void 0===n&&(n=Pn);var e,o=n&&n.name||t.name||"Autorun@"+r();if(n.scheduler||n.delay){var u=yt(n),s=!1;e=new Ai(o,(function(){s||(s=!0,u((function(){s=!1,e.G||e.track(i)})))}),n.onError,n.requiresObservable)}else e=new Ai(o,(function(){this.track(i)}),n.onError,n.requiresObservable);return e.q(),e.X()}function yt(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:Mi}function pt(t,n,i){function e(){if(l=!1,!y.G){var n=!1;y.track((function(){var i=T(!1,(function(){return t(y)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&c(s,d,y),v=!1}}void 0===i&&(i=Pn);var o,u,s,a=i.name||"Reaction@"+r(),c=_i(a,i.onError?(o=i.onError,u=n,function(){try{return u.apply(this,arguments)}catch(t){o.call(this,t)}}):n),f=!i.scheduler&&!i.delay,h=yt(i),v=!0,l=!1,d=void 0,b=i.compareStructural?Yn.structural:i.equals||Yn.default,y=new Ai(a,(function(){v||f?e():l||(l=!0,h(e))}),i.onError,i.requiresObservable);return y.q(),y.X()}function mt(t,n,i){return Ot("onBO",t,n,i)}function wt(t,n,i){return Ot("onBUO",t,n,i)}function Ot(t,n,i,r){var e="function"==typeof r?_n(n,i):_n(n),u=o(r)?r:i,s=t+"L";return e[s]?e[s].add(u):e[s]=new Set([u]),function(){var t=e[s];t&&(t.delete(u),0===t.size&&delete e[s])}}function jt(i){!0===i.isolateGlobalState&&function(){if((ji.pendingReactions.length||ji.inBatch||ji.isRunningReactions)&&t(36),Oi=!0,wi){var i=n();0==--i.__mobxInstanceCount&&(i.__mobxGlobals=void 0),ji=new mi}}();var r,e,o=i.useProxies,u=i.enforceActions;if(void 0!==o&&(ji.useProxies="always"===o||"never"!==o&&"undefined"!=typeof Proxy),"ifavailable"===o&&(ji.verifyProxies=!0),void 0!==u){var s="always"===u?"always":"observed"===u;ji.enforceActions=s,ji.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(t){t in i&&(ji[t]=!!i[t])})),ji.allowStateReads=!ji.observableRequiresReaction,i.reactionScheduler&&(r=i.reactionScheduler,e=gi,gi=function(t){return r((function(){return e(t)}))})}function At(t,n,i,r){var e=_(r),o=On(t,e.name,x(e));ot();try{var u=Un(n);b(u).forEach((function(n){hn(o,t,n,u[n],!i||!(n in i)||i[n],!0,!!(null==r?void 0:r.autoBind))}))}finally{ut()}return t}function gt(t,n){return St(_n(t,n))}function St(t){var n,i={name:t.F};return t.M&&t.M.length>0&&(i.dependencies=(n=t.M,Array.from(new Set(n))).map(St)),i}function _t(t,n){return xt(_n(t,n))}function xt(t){var n={name:t.F};return function(t){return t.I&&t.I.size>0}(t)&&(n.observers=Array.from(function(t){return t.I}(t)).map(xt)),n}function Mt(){this.message="FLOW_CANCELLED"}function Rt(t){return t instanceof Mt}function Et(t){o(t.cancel)&&t.cancel()}function Nt(t){return t}function Vt(t,n,i){var r;return Fi(t)||wn(t)||hi(t)?r=xn(t):jn(t)&&(r=xn(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}}function Ct(t,n,i){return o(i)?function(t,n,i){return xn(t,n).U(i)}(t,n,i):function(t,n){return xn(t).U(n)}(t,n)}function Tt(t,n){if(void 0!==n){if(!1===jn(t))return!1;if(!t[zn].H.has(n))return!1;var i=_n(t,n);return bi(i)}return bi(t)}function kt(t){return Tt(t)}function It(t,n){return Tt(t,n)}function Kt(t,n){return!!t&&(void 0!==n?!!jn(t)&&t[zn].H.has(n):jn(t)||!!t[zn]||Jn(t)||Si(t)||bi(t))}function Lt(t){return Kt(t)}function Pt(t,n){return Kt(t,n)}function Bt(n){return jn(n)?n[zn].W():Fi(n)||$i(n)?Array.from(n.keys()):wn(n)?n.map((function(t,n){return n})):void t(5)}function Dt(n){return jn(n)?Bt(n).map((function(t){return n[t]})):Fi(n)?Bt(n).map((function(t){return n.get(t)})):$i(n)?Array.from(n.values()):wn(n)?n.slice():void t(6)}function Gt(n){return jn(n)?Bt(n).map((function(t){return[t,n[t]]})):Fi(n)?Bt(n).map((function(t){return[t,n.get(t)]})):$i(n)?Array.from(n.entries()):wn(n)?n.map((function(t,n){return[n,t]})):void t(7)}function qt(n,i,r){if(2!==arguments.length||$i(n))if(jn(n)){var e=n[zn],o=e.H.get(i);o?e.$(i,r):e.J(i,r,e.Y)}else Fi(n)?n.set(i,r):$i(n)?n.add(i):wn(n)?("number"!=typeof i&&(i=parseInt(i,10)),i<0&&t("Invalid index: '"+i+"'"),ot(),i>=n.length&&(n.length=i+1),n[i]=r,ut()):t(8);else{ot();var u=i;try{for(var s in u)qt(n,s,u[s])}finally{ut()}}}function Xt(n,i){jn(n)?n[zn].Z(i):Fi(n)||$i(n)?n.delete(i):wn(n)?("number"!=typeof i&&(i=parseInt(i,10)),n.splice(i,1)):t(9)}function Ft(n,i){return jn(n)?xn(n).tt(i):Fi(n)||$i(n)?n.has(i):wn(n)?i>=0&&i<n.length:void t(10)}function Ut(n,i){if(Ft(n,i))return jn(n)?n[i]:Fi(n)?n.get(i):wn(n)?n[i]:void t(11)}function Ht(t,n,i,r){return o(i)?function(t,n,i,r){return xn(t,n).nt(i,r)}(t,n,i,r):function(t,n,i){return xn(t).nt(n,i)}(t,n,i)}function Wt(t,n,i){return t.set(n,i),i}function zt(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!Lt(n))return n;if(hi(n))return t(n.get(),i);if(i.has(n))return i.get(n);if(wn(n)){var r=Wt(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if($i(n)){var e=Wt(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(Fi(n)){var o=Wt(i,n,new Map);return n.forEach((function(n,r){o.set(r,t(n,i))})),o}Bt(n);var u=Wt(i,n,{});return b(n).forEach((function(r){u[r]=t(n[r],i)})),u}(t,new Map)}function $t(){t("trace() is not available in production builds");for(var n=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(n=r.pop());var o=Jt(r);if(!o)return t("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");o.it===li.NONE&&console.log("[mobx.trace] '"+o.F+"' tracing enabled"),o.it=n?li.BREAK:li.LOG}function Jt(t){switch(t.length){case 0:return ji.trackingDerivation;case 1:return _n(t[0]);case 2:return _n(t[0],t[1])}}function Yt(t,n){void 0===n&&(n=void 0),ot();try{return t.apply(n)}finally{ut()}}function Qt(t,n,i){return 1===arguments.length||n&&"object"==typeof n?tn(t,n):Zt(t,n,i||{})}function Zt(t,n,i){var e;"number"==typeof i.timeout&&(e=setTimeout((function(){if(!u[zn].G){u();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+r();var o=E(i.name+"-effect",n),u=bt((function(n){T(!1,t)&&(n.dispose(),e&&clearTimeout(e),o())}),i);return u}function tn(t,n){var i,r=new Promise((function(r,e){var o=Zt(t,r,P({},n,{onError:e}));i=function(){o(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function nn(t){return t[zn]}function rn(t){return void 0!==t.rt&&t.rt.length>0}function en(t,n){var i=t.rt||(t.rt=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function on(n,i){var r=$();try{for(var e=[].concat(n.rt||[]),o=0,u=e.length;o<u&&((i=e[o](i))&&!i.type&&t(14),i);o++);return i}finally{J(r)}}function un(t){return void 0!==t.et&&t.et.length>0}function sn(t,n){var i=t.et||(t.et=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function an(t,n){var i=$(),r=t.et;if(r){for(var e=0,o=(r=r.slice()).length;e<o;e++)r[e](n);J(i)}}function cn(t,n,i,r,e){f(t,n,e?xi(i||n,r):_i(i||n,r))}function fn(t,n,i){return t.get?ri:!t.set&&(o(t.value)?c(t.value)?Ei:!dt(t.value)&&(i?xi.bound:xi):null!=n?n:ii.deep)}function hn(n,i,r,e,u,s,a){var c=n.ot,h=u;if(!0===u&&(u=fn(e,ii,a)),!1!==u){if(!u||!0===u||!u.t)return t(2,r);var v=u.t;switch(v){case"autoAction":case"action":var l=e.value;o(l)||t(3,r),i===c||s?cn(c,r,u.i,l,"autoAction"===v):dt(i[r])||cn(i,r,u.i,l,"autoAction"===v);break;case"autoAction.bound":case"action.bound":var d=e.value;o(d)||t(3,r),cn(c,r,u.i,d.bind(n.ut||c),"autoAction.bound"===v);break;case"flow":i===c||s?f(c,r,Ei(e.value)):function(t){return!0===(null==t?void 0:t.isMobXFlow)}(i[r])||f(i,r,Ei(e.value));break;case"computed":case"computed.struct":e.get||t(4,r),n.st(c,r,P({get:e.get,set:e.set,compareStructural:"computed.struct"===u.t},u.i));break;case"observable":case"observable.ref":case"observable.shallow":case"observable.struct":var b=!0===h?n.Y:M(u);n.J(r,e.value,b)}}else s&&In(c,r,e)}function vn(n,i,r){var e=!!(null==r?void 0:r.autoBind),o=On(n,null==r?void 0:r.name,M(null==r?void 0:r.defaultDecorator));ot();try{if(!i)return function(t){if(t[Wn])return!0;for(var n=t,i=[];n&&n!==Kn;){var r=kn(n,Hn);if(r){if(!i.length)for(var e in r.value)if(!m(t,e)&&!m(n,e))return!0;i.unshift(r.value)}n=Object.getPrototypeOf(n)}i.forEach((function(n){vn(t,n)})),f(t,Wn,!0)}(n),n;Fn(i).forEach((function(r){var u=i[r],s=function(n,i){for(var r=n;r&&r!==Kn;){var e=kn(r,i);if(e)return[e,r];r=Object.getPrototypeOf(r)}t(1,i)}(n,r);hn(o,s[1],r,s[0],u,!1,e)}))}finally{ut()}return n}function ln(t,n,i){var r,e=Object.getPrototypeOf(t),u=null==e||e===Kn;return!u&&m(e,Vi)?r=e[Vi]:(function(t,n,i){var r,e=!!(null==i?void 0:i.autoBind),o=void 0===(null==i?void 0:i.deep)?null!=(r=null==i?void 0:i.defaultDecorator)?r:ii.deep:(null==i?void 0:i.deep)?ii.deep:ii.ref;Object.entries(Un(t)).forEach((function(t){var i=t[0];i in n||"constructor"===i||(n[i]=fn(t[1],o,e))}))}(t,r=P({},n),i),u||(function(t,n,i){Object.entries(Un(t)).forEach((function(t){var r=t[0],e=t[1];r in n||"constructor"===r||(e.get?n[r]=ri:o(e.value)&&(n[r]=c(e.value)?Ei:(null==i?void 0:i.autoBind)?xi.bound:xi))}))}(e,r,i),f(e,Vi,r))),vn(t,r,i),t}function dn(t,n,e,o){void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),i();var u=new ki(e,n,o,!1);h(u.H,zn,u);var s=new Proxy(u.H,Ti);if(u.ut=s,t&&t.length){var a=k(!0);u.at(0,0,t),I(a)}return s}function bn(t,n){"function"==typeof Array.prototype[t]&&(Ii[t]=n(t))}function yn(t){return function(){var n=this[zn];n.ct.reportObserved();var i=n.ft(n.H);return i[t].apply(i,arguments)}}function pn(t){return function(n,i){var r=this,e=this[zn];return e.ct.reportObserved(),e.ft(e.H)[t]((function(t,e){return n.call(i,t,e,r)}))}}function mn(t){return function(){var n=this,i=this[zn];i.ct.reportObserved();var r=i.ft(i.H),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function wn(t){return s(t)&&Pi(t[zn])}function On(t,n,i){if(void 0===n&&(n=""),void 0===i&&(i=g),m(t,zn))return t[zn];n||(n=a(t)?"ObservableObject@"+r():(t.constructor.name||"ObservableObject")+"@"+r());var e=new Ji(t,new Map,y(n),i);return f(t,zn,e),e}function jn(t){return!!s(t)&&Zi(t[zn])}function An(t){In(ir.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[zn].ht(t)},set:function(n){this[zn].vt(t,n)}}}(t))}function gn(t){if(t>tr){for(var n=tr;n<t+100;n++)An(n);tr=t}}function Sn(t,n,i){return new ir(t,n,i)}function _n(n,i){if("object"==typeof n&&null!==n){if(wn(n))return void 0!==i&&t(23),n[zn].ct;if($i(n))return n[zn];if(Fi(n)){if(void 0===i)return n.lt;var r=n.dt.get(i)||n.bt.get(i);return r||t(25,i,Mn(n)),r}if(jn(n)){if(!i)return t(26);var e=n[zn].H.get(i);return e||t(27,i,Mn(n)),e}if(Jn(n)||bi(n)||Si(n))return n}else if(o(n)&&Si(n[zn]))return n[zn];t(28)}function xn(n,i){return n||t(29),void 0!==i?xn(_n(n,i)):Jn(n)||bi(n)||Si(n)||Fi(n)||$i(n)?n:n[zn]?n[zn]:void t(24,n)}function Mn(t,n){return(void 0!==n?_n(t,n):jn(t)||Fi(t)||$i(t)?xn(t):_n(t)).F}function Rn(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,u){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!o(s)&&"object"!==s&&"object"!=typeof i)return!1;var a=rr.call(n);if(a!==rr.call(i))return!1;switch(a){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=En(n),i=En(i);var c="[object Array]"===a;if(!c){if("object"!=typeof n||"object"!=typeof i)return!1;var f=n.constructor,h=i.constructor;if(f!==h&&!(o(f)&&f instanceof f&&o(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),u=u||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return u[v]===i;if(e.push(n),u.push(i),c){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,u))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!m(i,l=d[v])||!t(n[l],i[l],r-1,e,u))return!1}return e.pop(),u.pop(),!0}(t,n,i)}function En(t){return wn(t)?t.slice():l(t)||Fi(t)||d(t)||$i(t)?Array.from(t.entries()):t}function Nn(t){return t[Symbol.iterator]=Vn,t}function Vn(){return this}var Cn={},Tn=Object.assign,kn=Object.getOwnPropertyDescriptor,In=Object.defineProperty,Kn=Object.prototype,Ln=[];Object.freeze(Ln);var Pn={};Object.freeze(Pn);var Bn,Dn="undefined"!=typeof Proxy,Gn=""+Object,qn=function(){},Xn=void 0!==Object.getOwnPropertySymbols,Fn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Xn?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,Un=Object.getOwnPropertyDescriptors||function(t){var n={};return Fn(t).forEach((function(i){n[i]=kn(t,i)})),n},Hn=Symbol("mobx-decorators"),Wn=Symbol("mobx-applied-decorators"),zn=Symbol("mobx administration"),$n=function(){function t(t){void 0===t&&(t="Atom@"+r()),this.F=void 0,this.K=!1,this.L=!1,this.I=new Set,this.C=0,this.B=0,this.k=vi.g,this.onBOL=void 0,this.onBUOL=void 0,this.F=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return st(this)},n.reportChanged=function(){ot(),function(t){t.k!==vi.S&&(t.k=vi.S,t.I.forEach((function(t){t.j===vi.A&&t.T(),t.j=vi.S})))}(this),ut()},n.toString=function(){return this.F},t}(),Jn=v("Atom",$n),Yn={identity:function(t,n){return t===n},structural:function(t,n){return Rn(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return Rn(t,n,1)}},Qn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Qn);var Zn=((Bn={}).observable=g,Bn["observable.ref"]=S,Bn["observable.shallow"]=function(t,n,i){return null==t||jn(t)||wn(t)||Fi(t)||$i(t)?t:Array.isArray(t)?ii.array(t,{name:i,deep:!1}):a(t)?ii.object(t,void 0,{name:i,deep:!1}):l(t)?ii.map(t,{name:i,deep:!1}):d(t)?ii.set(t,{name:i,deep:!1}):void 0},Bn["observable.struct"]=function(t,n){return Rn(t,n)?n:t},Bn);R.t="observable";var ti,ni,ii=Tn(R,{box:function(t,n){var i=_(n);return new fi(t,x(i),i.name,!0,i.equals)},array:function(t,n){var i=_(n);return(!1===ji.useProxies||!1===i.proxy?Sn:dn)(t,x(i),i.name)},map:function(t,n){var i=_(n);return new Xi(t,x(i),i.name)},set:function(t,n){var i=_(n);return new zi(t,x(i),i.name)},object:function(t,n,r){var e=_(r),o={};return On(o,null==r?void 0:r.name,x(e)),At(!1===ji.useProxies||!1===e.proxy?o:function(t){i();var n=new Proxy(t,Ni);return t[zn].ut=n,n}(o),t,n,r)},ref:w("observable.ref"),shallow:w("observable.shallow"),deep:w("observable"),struct:w("observable.struct")}),ri=function(t,n){if(u(n))return j(t,n,"computed");if(a(t))return O("computed",t);var i=a(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new di(i)};ri.t="computed",ri.struct=Tn((function(t,n){j(t,n,"computed.struct")}),{t:"computed.struct"});var ei,oi=0,ui=1,si=null!=(ti=null==(ni=kn((function(){}),"name"))?void 0:ni.configurable)&&ti,ai={value:"action",configurable:!0,writable:!1,enumerable:!1};ei=Symbol.toPrimitive;var ci,fi=function(t){function n(n,i,e,o,u){var s;return void 0===e&&(e="ObservableValue@"+r()),void 0===u&&(u=Yn.default),(s=t.call(this,e)||this).enhancer=void 0,s.F=void 0,s.equals=void 0,s.yt=!1,s.rt=void 0,s.et=void 0,s.pt=void 0,s.dehancer=void 0,s.enhancer=i,s.F=e,s.equals=u,s.pt=i(n,void 0,e),s}B(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this.wt(t))!==ji.UNCHANGED&&this.Ot(t)},i.wt=function(t){if(rn(this)){var n=on(this,{object:this,type:Ci,newValue:t});if(!n)return ji.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.pt,this.F),this.equals(this.pt,t)?ji.UNCHANGED:t},i.Ot=function(t){var n=this.pt;this.pt=t,this.reportChanged(),un(this)&&an(this,{type:Ci,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.pt)},i.U=function(t){return en(this,t)},i.nt=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.F,object:this,type:Ci,newValue:this.pt,oldValue:void 0}),sn(this,t)},i.raw=function(){return this.pt},i.toJSON=function(){return this.get()},i.toString=function(){return this.F+"["+this.pt+"]"},i.valueOf=function(){return p(this.get())},i[ei]=function(){return this.valueOf()},n}($n),hi=v("ObservableValue",fi);ci=Symbol.toPrimitive;var vi,li,di=function(){function n(n){this.j=vi.g,this.M=[],this.R=null,this.L=!1,this.K=!1,this.I=new Set,this.C=0,this.V=0,this.B=0,this.k=vi.A,this.N=0,this.jt="#"+r(),this.pt=new yi(null),this.F=void 0,this.At=void 0,this.gt=!1,this.St=!1,this.derivation=void 0,this._t=void 0,this.it=li.NONE,this.xt=void 0,this.Mt=void 0,this.Rt=void 0,this.Et=void 0,this.onBOL=void 0,this.onBUOL=void 0,n.get||t(31),this.derivation=n.get,this.F=n.name||"ComputedValue@"+r(),n.set&&(this._t=E(this.F+"-setter",n.set)),this.Mt=n.equals||(n.compareStructural||n.struct?Yn.structural:Yn.default),this.xt=n.context,this.Rt=!!n.requiresReaction,this.Et=!!n.keepAlive}var i=n.prototype;return i.T=function(){!function(t){t.k===vi.A&&(t.k=vi._,t.I.forEach((function(t){t.j===vi.A&&(t.j=vi._,t.T())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.gt&&t(32,this.F,this.derivation),0!==ji.inBatch||0!==this.I.size||this.Et){if(st(this),F(this)){var n=ji.trackingContext;this.Et&&!n&&(ji.trackingContext=this),this.trackAndCompute()&&function(t){t.k!==vi.S&&(t.k=vi.S,t.I.forEach((function(n){n.j===vi._?n.j=vi.S:n.j===vi.A&&(t.k=vi.A)})))}(this),ji.trackingContext=n}}else F(this)&&(this.Nt(),ot(),this.pt=this.Vt(!1),ut());var i=this.pt;if(X(i))throw i.cause;return i},i.set=function(n){if(this._t){this.St&&t(33,this.F),this.St=!0;try{this._t.call(this.xt,n)}finally{this.St=!1}}else t(34,this.F)},i.trackAndCompute=function(){var t=this.pt,n=this.j===vi.g,i=this.Vt(!0),r=n||X(t)||X(i)||!this.Mt(t,i);return r&&(this.pt=i),r},i.Vt=function(t){this.gt=!0;var n,i=k(!1);if(t)n=H(this,this.derivation,this.xt);else if(!0===ji.disableErrorBoundaries)n=this.derivation.call(this.xt);else try{n=this.derivation.call(this.xt)}catch(t){n=new yi(t)}return I(i),this.gt=!1,n},i.P=function(){this.Et||(W(this),this.pt=void 0)},i.nt=function(t,n){var i=this,r=!0,e=void 0;return bt((function(){var o=i.get();if(!r||n){var u=$();t({observableKind:"computed",debugObjectName:i.F,type:Ci,object:i,newValue:o,oldValue:e}),J(u)}r=!1,e=o}))},i.Nt=function(){},i.toString=function(){return this.F+"["+this.derivation+"]"},i.valueOf=function(){return p(this.get())},i[ci]=function(){return this.valueOf()},n}(),bi=v("ComputedValue",di);!function(t){t[t.g=-1]="NOT_TRACKING_",t[t.A=0]="UP_TO_DATE_",t[t._=1]="POSSIBLY_STALE_",t[t.S=2]="STALE_"}(vi||(vi={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(li||(li={}));var yi=function(t){this.cause=void 0,this.cause=t},pi=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],mi=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},wi=!0,Oi=!1,ji=function(){var i=n();return i.__mobxInstanceCount>0&&!i.__mobxGlobals&&(wi=!1),i.__mobxGlobals&&i.__mobxGlobals.version!==(new mi).version&&(wi=!1),wi?i.__mobxGlobals?(i.__mobxInstanceCount+=1,i.__mobxGlobals.UNCHANGED||(i.__mobxGlobals.UNCHANGED={}),i.__mobxGlobals):(i.__mobxInstanceCount=1,i.__mobxGlobals=new mi):(setTimeout((function(){Oi||t(35)}),1),new mi)}(),Ai=function(){function t(t,n,i,e){void 0===t&&(t="Reaction@"+r()),void 0===e&&(e=!1),this.F=void 0,this.Ct=void 0,this.Tt=void 0,this.kt=void 0,this.M=[],this.R=[],this.j=vi.g,this.C=0,this.V=0,this.N=0,this.jt="#"+r(),this.G=!1,this.It=!1,this.Kt=!1,this.Lt=!1,this.it=li.NONE,this.F=t,this.Ct=n,this.Tt=i,this.kt=e}var n=t.prototype;return n.T=function(){this.q()},n.q=function(){this.It||(this.It=!0,ji.pendingReactions.push(this),ct())},n.isScheduled=function(){return this.It},n.D=function(){if(!this.G){ot(),this.It=!1;var t=ji.trackingContext;if(ji.trackingContext=this,F(this)){this.Kt=!0;try{this.Ct()}catch(t){this.Pt(t)}}ji.trackingContext=t,ut()}},n.track=function(t){if(!this.G){ot(),this.Lt=!0;var n=ji.trackingContext;ji.trackingContext=this;var i=H(this,t,void 0);ji.trackingContext=n,this.Lt=!1,this.Kt=!1,this.G&&W(this),X(i)&&this.Pt(i.cause),ut()}},n.Pt=function(t){var n=this;if(this.Tt)this.Tt(t,this);else{if(ji.disableErrorBoundaries)throw t;ji.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),ji.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.G||(this.G=!0,this.Lt||(ot(),W(this),ut()))},n.X=function(){var t=this.dispose.bind(this);return t[zn]=this,t},n.toString=function(){return"Reaction["+this.F+"]"},n.trace=function(t){void 0===t&&(t=!1),$t(this,t)},t}(),gi=function(t){return t()},Si=v("Reaction",Ai),_i=vt(!1,"action"),xi=vt(!0,"autoAction");_i.bound=w("action.bound"),xi.bound=w("autoAction.bound");var Mi=function(t){return t()},Ri=0;Mt.prototype=Object.create(Error.prototype);var Ei=Object.assign((function(t,n){if(u(n))return j(t,n,"flow");var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,u=++Ri,s=_i(r+" - runid: "+u+" - init",i).apply(n,e),a=void 0,c=new Promise((function(n,i){function e(t){var n;a=void 0;try{n=_i(r+" - runid: "+u+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}f(n)}function c(t){var n;a=void 0;try{n=_i(r+" - runid: "+u+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}f(n)}function f(t){if(!o(null==t?void 0:t.then))return t.done?n(t.value):(a=Promise.resolve(t.value)).then(e,c);t.then(f,i)}var h=0;t=i,e(void 0)}));return c.cancel=_i(r+" - runid: "+u+" - cancel",(function(){try{a&&Et(a);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(qn,qn),Et(i),t(new Mt)}catch(n){t(n)}})),c};return e.isMobXFlow=!0,e}),{t:"flow"}),Ni={has:function(t,n){if(n===zn||"constructor"===n)return!0;var i=nn(t);return u(n)?i.tt(n):n in t},get:function(t,n){if(n===zn||"constructor"===n)return t[n];var i=nn(t),r=i.H.get(n);if(r instanceof $n){var e=r.get();return void 0===e&&i.tt(n),e}return u(n)&&i.tt(n),t[n]},set:function(t,n,i){return!!u(n)&&(qt(t,n,i),!0)},deleteProperty:function(t,n){return!!u(n)&&(nn(t).Z(n),!0)},ownKeys:function(t){return nn(t).lt.reportObserved(),Reflect.ownKeys(t)},preventExtensions:function(){t(13)}},Vi=Symbol("mobx-cached-annotations"),Ci="update",Ti={get:function(t,n){var i=t[zn];return n===zn?i:"length"===n?i.Bt():"string"!=typeof n||isNaN(n)?m(Ii,n)?Ii[n]:t[n]:i.ht(parseInt(n))},set:function(t,n,i){var r=t[zn];return"length"===n&&r.Dt(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.vt(parseInt(n),i),!0},preventExtensions:function(){t(15)}},ki=function(){function n(t,n,i,e){this.Gt=void 0,this.qt=void 0,this.ct=void 0,this.H=[],this.rt=void 0,this.et=void 0,this.Xt=void 0,this.dehancer=void 0,this.ut=void 0,this.Ft=0,this.Gt=i,this.qt=e,this.ct=new $n(t||"ObservableArray@"+r()),this.Xt=function(i,r){return n(i,r,t+"[..]")}}var i=n.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.ft=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.U=function(t){return en(this,t)},i.nt=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.ut,debugObjectName:this.ct.F,type:"splice",index:0,added:this.H.slice(),addedCount:this.H.length,removed:[],removedCount:0}),sn(this,t)},i.Bt=function(){return this.ct.reportObserved(),this.H.length},i.Dt=function(n){("number"!=typeof n||n<0)&&t("Out of range: "+n);var i=this.H.length;if(n!==i)if(n>i){for(var r=Array(n-i),e=0;e<n-i;e++)r[e]=void 0;this.at(i,0,r)}else this.at(n,i-n)},i.Ht=function(n,i){n!==this.Ft&&t(16),this.Ft+=i,this.qt&&i>0&&gn(n+i+1)},i.at=function(t,n,i){var r=this,e=this.H.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=Ln),rn(this)){var o=on(this,{object:this.ut,type:"splice",index:t,removedCount:n,added:i});if(!o)return Ln;n=o.removedCount,i=o.added}if(i=0===i.length?i:i.map((function(t){return r.Xt(t,void 0)})),this.qt){var u=i.length-n;this.Ht(e,u)}var s=this.Wt(t,n,i);return 0===n&&0===i.length||this.zt(t,i,s),this.ft(s)},i.Wt=function(t,n,i){var r;if(i.length<1e4)return(r=this.H).splice.apply(r,[t,n].concat(i));var e=this.H.slice(t,t+n),o=this.H.slice(t+n);this.H.length=t+i.length-n;for(var u=0;u<i.length;u++)this.H[t+u]=i[u];for(var s=0;s<o.length;s++)this.H[t+i.length+s]=o[s];return e},i.$t=function(t,n,i){var r=!this.Gt&&!1,e=un(this),o=e||r?{observableKind:"array",object:this.ut,type:Ci,debugObjectName:this.ct.F,index:t,newValue:n,oldValue:i}:null;this.ct.reportChanged(),e&&an(this,o)},i.zt=function(t,n,i){var r=!this.Gt&&!1,e=un(this),o=e||r?{observableKind:"array",object:this.ut,debugObjectName:this.ct.F,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.ct.reportChanged(),e&&an(this,o)},i.ht=function(t){if(t<this.H.length)return this.ct.reportObserved(),this.Ut(this.H[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.H.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.vt=function(n,i){var r=this.H;if(n<r.length){var e=r[n];if(rn(this)){var o=on(this,{type:Ci,object:this.ut,index:n,newValue:i});if(!o)return;i=o.newValue}(i=this.Xt(i,e))!==e&&(r[n]=i,this.$t(n,i,e))}else n===r.length?this.at(n,0,[i]):t(17,n,r.length)},n}(),Ii={clear:function(){return this.splice(0)},replace:function(t){var n=this[zn];return n.at(0,n.H.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var o=this[zn];switch(arguments.length){case 0:return[];case 1:return o.at(t);case 2:return o.at(t,n)}return o.at(t,n,r)},spliceWithArray:function(t,n,i){return this[zn].at(t,n,i)},push:function(){for(var t=this[zn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.at(t.H.length,0,i),t.H.length},pop:function(){return this.splice(Math.max(this[zn].H.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[zn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.at(0,0,i),t.H.length},reverse:function(){return ji.trackingDerivation&&t(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){ji.trackingDerivation&&t(37,"sort");var n=this.slice();return n.sort.apply(n,arguments),this.replace(n),this},remove:function(t){var n=this[zn],i=n.ft(n.H).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};bn("concat",yn),bn("flat",yn),bn("includes",yn),bn("indexOf",yn),bn("join",yn),bn("lastIndexOf",yn),bn("slice",yn),bn("toString",yn),bn("toLocaleString",yn),bn("every",pn),bn("filter",pn),bn("find",pn),bn("findIndex",pn),bn("flatMap",pn),bn("forEach",pn),bn("map",pn),bn("some",pn),bn("reduce",mn),bn("reduceRight",mn);var Ki,Li,Pi=v("ObservableArrayAdministration",ki),Bi={},Di="add";Ki=Symbol.iterator,Li=Symbol.toStringTag;var Gi,qi,Xi=function(){function n(n,i,e){void 0===i&&(i=g),void 0===e&&(e="ObservableMap@"+r()),this.Xt=void 0,this.F=void 0,this[zn]=Bi,this.dt=void 0,this.bt=void 0,this.lt=void 0,this.rt=void 0,this.et=void 0,this.dehancer=void 0,this.Xt=i,this.F=e,o(Map)||t(18),this.lt=A(this.F+".keys()"),this.dt=new Map,this.bt=new Map,this.merge(n)}var i=n.prototype;return i.tt=function(t){return this.dt.has(t)},i.has=function(t){var n=this;if(!ji.trackingDerivation)return this.tt(t);var i=this.bt.get(t);if(!i){var r=i=new fi(this.tt(t),S,this.F+"."+y(t)+"?",!1);this.bt.set(t,r),wt(r,(function(){return n.bt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.tt(t);if(rn(this)){var r=on(this,{type:i?Ci:Di,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.Jt(t,n):this.Yt(t,n),this},i.delete=function(t){var n=this;if(rn(this)&&!on(this,{type:"delete",object:this,name:t}))return!1;if(this.tt(t)){var i=un(this),r=i?{observableKind:"map",debugObjectName:this.F,type:"delete",object:this,oldValue:this.dt.get(t).pt,name:t}:null;return Yt((function(){n.lt.reportChanged(),n.Qt(t,!1),n.dt.get(t).Ot(void 0),n.dt.delete(t)})),i&&an(this,r),!0}return!1},i.Qt=function(t,n){var i=this.bt.get(t);i&&i.Ot(n)},i.Jt=function(t,n){var i=this.dt.get(t);if((n=i.wt(n))!==ji.UNCHANGED){var r=un(this),e=r?{observableKind:"map",debugObjectName:this.F,type:Ci,object:this,oldValue:i.pt,name:t,newValue:n}:null;i.Ot(n),r&&an(this,e)}},i.Yt=function(t,n){var i=this;Yt((function(){var r=new fi(n,i.Xt,i.F+"."+y(t),!1);i.dt.set(t,r),n=r.pt,i.Qt(t,!0),i.lt.reportChanged()}));var r=un(this);r&&an(this,r?{observableKind:"map",debugObjectName:this.F,type:Di,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Ut(this.dt.get(t).get()):this.Ut(void 0)},i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.lt.reportObserved(),this.dt.keys()},i.values=function(){var t=this,n=this.keys();return Nn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return Nn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[Ki]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=q(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(n){var i=this;return Fi(n)&&(n=new Map(n)),Yt((function(){a(n)?b(n).forEach((function(t){return i.set(t,n[t])})):Array.isArray(n)?n.forEach((function(t){return i.set(t[0],t[1])})):l(n)?(n.constructor!==Map&&t(19,n),n.forEach((function(t,n){return i.set(n,t)}))):null!=n&&t(20,n)})),this},i.clear=function(){var t=this;Yt((function(){z((function(){for(var n,i=q(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(n){var i=this;return Yt((function(){for(var r,e=function(n){if(l(n)||Fi(n))return n;if(Array.isArray(n))return new Map(n);if(a(n)){var i=new Map;for(var r in n)i.set(r,n[r]);return i}return t(21,n)}(n),o=new Map,u=!1,s=q(i.dt.keys());!(r=s()).done;){var c=r.value;if(!e.has(c))if(i.delete(c))u=!0;else{var f=i.dt.get(c);o.set(c,f)}}for(var h,v=q(e.entries());!(h=v()).done;){var d=h.value,b=d[0],y=d[1],p=i.dt.has(b);if(i.set(b,y),i.dt.has(b)){var m=i.dt.get(b);o.set(b,m),p||(u=!0)}}if(!u)if(i.dt.size!==o.size)i.lt.reportChanged();else for(var w=i.dt.keys(),O=o.keys(),j=w.next(),A=O.next();!j.done;){if(j.value!==A.value){i.lt.reportChanged();break}j=w.next(),A=O.next()}i.dt=o})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i.nt=function(t){return sn(this,t)},i.U=function(t){return en(this,t)},L(n,[{key:"size",get:function(){return this.lt.reportObserved(),this.dt.size}},{key:Li,get:function(){return"Map"}}]),n}(),Fi=v("ObservableMap",Xi),Ui={};Gi=Symbol.iterator,qi=Symbol.toStringTag;var Hi,Wi,zi=function(){function n(n,i,e){void 0===i&&(i=g),void 0===e&&(e="ObservableSet@"+r()),this.F=void 0,this[zn]=Ui,this.dt=new Set,this.ct=void 0,this.et=void 0,this.rt=void 0,this.dehancer=void 0,this.Xt=void 0,this.F=e,o(Set)||t(22),this.ct=A(this.F),this.Xt=function(t,n){return i(t,n,e)},n&&this.replace(n)}var i=n.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;Yt((function(){z((function(){for(var n,i=q(t.dt.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=q(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(rn(this)&&!on(this,{type:Di,object:this,newValue:t}))return this;if(!this.has(t)){Yt((function(){n.dt.add(n.Xt(t,void 0)),n.ct.reportChanged()}));var i=un(this);i&&an(this,i?{observableKind:"set",debugObjectName:this.F,type:Di,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(rn(this)&&!on(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=un(this),r=i?{observableKind:"set",debugObjectName:this.F,type:"delete",object:this,oldValue:t}:null;return Yt((function(){n.ct.reportChanged(),n.dt.delete(t)})),i&&an(this,r),!0}return!1},i.has=function(t){return this.ct.reportObserved(),this.dt.has(this.Ut(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return Nn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.ct.reportObserved();var t=this,n=0,i=Array.from(this.dt.values());return Nn({next:function(){return n<i.length?{value:t.Ut(i[n++]),done:!1}:{done:!0}}})},i.replace=function(n){var i=this;return $i(n)&&(n=new Set(n)),Yt((function(){Array.isArray(n)||d(n)?(i.clear(),n.forEach((function(t){return i.add(t)}))):null!=n&&t("Cannot initialize set from "+n)})),this},i.nt=function(t){return sn(this,t)},i.U=function(t){return en(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[Gi]=function(){return this.values()},L(n,[{key:"size",get:function(){return this.ct.reportObserved(),this.dt.size}},{key:qi,get:function(){return"Set"}}]),n}(),$i=v("ObservableSet",zi),Ji=function(){function t(t,n,i,r){void 0===n&&(n=new Map),this.ot=void 0,this.H=void 0,this.F=void 0,this.Y=void 0,this.lt=void 0,this.et=void 0,this.rt=void 0,this.ut=void 0,this.Zt=void 0,this.tn=[],this.nn=!0,this.ot=t,this.H=n,this.F=i,this.Y=r,this.lt=new $n(i+".keys")}var n=t.prototype;return n.in=function(t){return this.H.get(t).get()},n.$=function(t,n){var i=this.ot,r=this.H.get(t);if(r instanceof di)r.set(n);else{if(rn(this)){var e=on(this,{type:Ci,object:this.ut||i,name:t,newValue:n});if(!e)return;n=e.newValue}if((n=r.wt(n))!==ji.UNCHANGED){var o=un(this),u=o?{type:Ci,observableKind:"object",debugObjectName:this.F,object:this.ut||i,oldValue:r.pt,name:t,newValue:n}:null;r.Ot(n),o&&an(this,u)}}},n.tt=function(t){var n=this.Zt||(this.Zt=new Map),i=n.get(t);if(i)return i.get();var r=!!this.H.get(t);return i=new fi(r,S,this.F+"."+y(t)+"?",!1),n.set(t,i),i.get()},n.J=function(t,n,i){void 0===i&&(i=this.Y);var r=this.ot;if(rn(this)){var e=on(this,{object:this.ut||r,name:t,type:Di,newValue:n});if(!e)return;n=e.newValue}var o=new fi(n,i,this.F+"."+y(t),!1);this.H.set(t,o),n=o.pt,In(r,t,function(t){return Yi[t]||(Yi[t]={configurable:!0,enumerable:!0,get:function(){return this[zn].in(t)},set:function(n){this[zn].$(t,n)}})}(t)),this.rn(t,n)},n.st=function(t,n,i){var r=this.ot;i.name=i.name||this.F+"."+y(n),i.context=this.ut||r,this.H.set(n,new di(i)),In(t,n,function(t){return Qi[t]||(Qi[t]={configurable:!0,enumerable:!1,get:function(){return this[zn].in(t)},set:function(n){this[zn].$(t,n)}})}(n))},n.Z=function(t){if(this.H.has(t)){var n=this.ot;if(rn(this)&&!on(this,{object:this.ut||n,name:t,type:"remove"}))return;try{ot();var i=un(this),r=this.H.get(t),e=r&&r.get();if(r&&r.set(void 0),this.reportKeysChanged(),this.H.delete(t),this.Zt){var o=this.Zt.get(t);o&&o.set(!1)}delete this.ot[t],i&&an(this,i?{type:"remove",observableKind:"object",object:this.ut||n,debugObjectName:this.F,oldValue:e,name:t}:null)}finally{ut()}}},n.nt=function(t){return sn(this,t)},n.U=function(t){return en(this,t)},n.rn=function(t,n){var i=un(this);if(i&&an(this,i?{type:Di,observableKind:"object",debugObjectName:this.F,object:this.ut||this.ot,name:t,newValue:n}:null),this.Zt){var r=this.Zt.get(t);r&&r.set(!0)}this.reportKeysChanged()},n.W=function(){if(this.lt.reportObserved(),!this.nn)return this.tn;this.tn=[];for(var t,n=q(this.H);!(t=n()).done;){var i=t.value;i[1]instanceof fi&&this.tn.push(i[0])}return this.nn=!1,this.tn},n.reportKeysChanged=function(){this.nn=!0,this.lt.reportChanged()},t}(),Yi=Object.create(null),Qi=Object.create(null),Zi=v("ObservableObjectAdministration",Ji),tr=0,nr=function(){};Hi=nr,Wi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Hi.prototype,Wi):void 0!==Hi.prototype.__proto__?Hi.prototype.__proto__=Wi:Hi.prototype=Wi;var ir=function(t){function n(n,i,e,o){var u;void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),u=t.call(this)||this;var s=new ki(e,i,o,!0);if(s.ut=D(u),h(D(u),zn,s),n&&n.length){var a=k(!0);u.spliceWithArray(0,0,n),I(a)}return u}B(n,t);var i=n.prototype;return i.concat=function(){this[zn].ct.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return wn(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return Nn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},L(n,[{key:"length",get:function(){return this[zn].Bt()},set:function(t){this[zn].Dt(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(nr);Object.entries(Ii).forEach((function(t){var n=t[0];"concat"!==n&&f(ir.prototype,n,t[1])})),gn(1e3);var rr=Kn.toString;["Symbol","Map","Set","Symbol"].forEach((function(i){void 0===n()[i]&&t("MobX requires global '"+i+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:ht,extras:{getDebugName:Mn},$mobx:zn});export{zn as $mobx,Mt as FlowCancellationError,Xi as ObservableMap,zi as ObservableSet,Ai as Reaction,T as _allowStateChanges,lt as _allowStateChangesInsideComputed,Q as _allowStateReadsEnd,Y as _allowStateReadsStart,xi as _autoAction,C as _endAction,xn as _getAdministration,tt as _getGlobalState,Vt as _interceptReads,U as _isComputingDerivation,nt as _resetGlobalState,V as _startAction,_i as action,bt as autorun,Yn as comparer,ri as computed,jt as configure,A as createAtom,Gt as entries,At as extendObservable,Ei as flow,Nt as flowResult,Ut as get,_n as getAtom,Mn as getDebugName,gt as getDependencyTree,_t as getObserverTree,Ft as has,Ct as intercept,dt as isAction,hi as isBoxedObservable,kt as isComputed,It as isComputedProp,Rt as isFlowCancellationError,Lt as isObservable,wn as isObservableArray,Fi as isObservableMap,jn as isObservableObject,Pt as isObservableProp,$i as isObservableSet,Bt as keys,ln as makeAutoObservable,vn as makeObservable,ii as observable,Ht as observe,mt as onBecomeObserved,wt as onBecomeUnobserved,at as onReactionError,pt as reaction,Xt as remove,lt as runInAction,qt as set,ht as spy,zt as toJS,$t as trace,Yt as transaction,z as untracked,Dt as values,Qt as when};
function t(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function n(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:Fn}function i(){Yn||t("Proxy not available")}function r(){return++Pi.mobxGuid}function e(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function o(t){return"function"==typeof t}function u(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function s(t){return null!==t&&"object"==typeof t}function a(t){var n;if(!s(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===Qn}function f(t,n,i){Wn(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function c(t,n,i){Wn(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function h(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return s(t)&&!0===t[i]}}function v(t){return t instanceof Map}function l(t){return t instanceof Set}function d(t){var n=Object.keys(t);if(!ti)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return zn.propertyIsEnumerable.call(t,n)}))):n}function b(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function y(t){return null===t?null:"object"==typeof t?""+t:t}function p(t,n){return zn.hasOwnProperty.call(t,n)}function m(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function O(t,n,i){return n&&m(t.prototype,n),i&&m(t,i),t}function j(){return(j=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function w(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function A(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function g(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function _(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return g(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function S(t){return Object.assign((function(n,i){x(n,i,t)}),t)}function x(t,n,i){p(t,ri)||f(t,ri,j({},t[ri])),function(t){return"override"===t.t}(i)||(t[ri][n]=j({},i,{i:!0}))}function M(t,n,i){void 0===n&&(n=Zn),void 0===i&&(i=Zn);var r=new oi(t);return n!==Zn&&Vt(r,n),i!==Zn&&Et(r,i),r}function R(t,n,i){return $t(t)?t:Array.isArray(t)?pi.array(t,{name:i}):a(t)?pi.object(t,void 0,{name:i}):v(t)?pi.map(t,{name:i}):l(t)?pi.set(t,{name:i}):t}function V(t){return t}function E(t,n){return{t:t,o:n,u:N,s:k}}function N(n,i){for(var r,e,o=!1,u=n.h,s=null!=(r=null==(e=this.o)?void 0:e.bound)&&r;u&&u!==zn;){var a=Hn(u,i);if(a){if(u===n.h||s){var f=C(n,this,i,a);if(!n.v(i,f))return;if(o=!0,s)break}if(u!==n.h){if(St(a.value)){o=!0;break}var c=C(n,this,i,a);Wn(u,i,c),o=!0}}u=Object.getPrototypeOf(u)}o?kn(n,this,i):this.i||t(1,this.t,n.l+"."+i)}function k(t,n,i,r){var e=C(t,this,n,i);return t.v(n,e,r)}function C(t,n,i,r){var e,o,u,s,a,f,c=r.value;return(null==(e=n.o)?void 0:e.bound)&&(c=c.bind(null!=(f=t.p)?f:t.h)),{value:H(null!=(o=null==(u=n.o)?void 0:u.name)?o:""+i,c,null!=(s=null==(a=n.o)?void 0:a.autoAction)&&s),configurable:t.m,enumerable:!1,writable:!1}}function T(n,i){for(var r=!1,e=n.h;e&&e!==zn;){var o=Hn(e,i);if(o){if(e!==n.h){if(qt(o.value)){r=!0;break}var u=K(n,0,0,o);Wn(e,i,u)}else{var s=K(n,0,0,o);if(!n.v(i,s))return}r=!0}e=Object.getPrototypeOf(e)}r?kn(n,this,i):this.i||t(1,this.t,n.l+"."+i)}function I(t,n,i,r){var e=K(t,0,0,i);return t.v(n,e,r)}function K(t,n,i,r){return{value:Yi(r.value),configurable:t.m,enumerable:!1,writable:!1}}function L(t,n){return{t:t,o:n,u:P,s:D}}function P(n,i){for(var r=n.h;r&&r!==zn;){var e=Hn(r,i);if(e){if(!n.O(i,j({},this.o,{get:e.get,set:e.set})))return;return void kn(n,this,i)}r=Object.getPrototypeOf(r)}this.i||t(1,this.t,n.l+"."+i)}function D(t,n,i,r){return t.O(n,j({},this.o,{get:i.get,set:i.set}),r)}function B(t,n){return{t:t,o:n,u:G,s:q}}function G(n,i){for(var r=n.h;r&&r!==zn;){var e=Hn(r,i);if(e){var o,u;if(!n.j(i,e.value,null!=(o=null==(u=this.o)?void 0:u.enhancer)?o:R))return;return void kn(n,this,i)}r=Object.getPrototypeOf(r)}this.i||t(1,this.t,n.l+"."+i)}function q(t,n,i,r){var e,o;return t.j(n,i.value,null!=(e=null==(o=this.o)?void 0:o.enhancer)?e:R,r)}function X(t){return t||fi}function F(t){return!0===t.deep?R:!1===t.deep?V:(n=t.defaultDecorator)&&null!=(i=null==(r=n.o)?void 0:r.enhancer)?i:R;var n,i,r}function U(t,n,i){if(!u(n))return $t(t)?t:a(t)?pi.object(t,n,i):Array.isArray(t)?pi.array(t,n):v(t)?pi.map(t,n):l(t)?pi.set(t,n):"object"==typeof t&&null!==t?t:pi.box(t);x(t,n,ci)}function H(t,n,i,r){function e(){return W(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,_i&&(Si.value=t,Object.defineProperty(e,"name",Si)),e}function W(t,n,i,r,e){var o=z(0,n);try{return i.apply(r,e)}catch(t){throw o.A=t,t}finally{$(o)}}function z(t,n){var i=Pi.trackingDerivation,r=!n||!i;bt();var e=Pi.allowStateChanges;r&&(ot(),e=Y(!0));var o={g:r,_:i,S:e,M:st(!0),R:!1,V:0,N:gi++,k:Ai};return Ai=o.N,o}function $(n){Ai!==n.N&&t(30),Ai=n.k,void 0!==n.A&&(Pi.suppressReactionErrors=!0),Q(n.S),at(n.M),yt(),n.g&&ut(n._),Pi.suppressReactionErrors=!1}function J(t,n){var i=Y(t);try{return n()}finally{Q(i)}}function Y(t){var n=Pi.allowStateChanges;return Pi.allowStateChanges=t,n}function Q(t){Pi.allowStateChanges=t}function Z(t){return t instanceof Ci}function tt(t){switch(t.C){case Vi.T:return!1;case Vi.I:case Vi.K:return!0;case Vi.L:for(var n=st(!0),i=ot(),r=t.P,e=r.length,o=0;o<e;o++){var u=r[o];if(ki(u)){if(Pi.disableErrorBoundaries)u.get();else try{u.get()}catch(t){return ut(i),at(n),!0}if(t.C===Vi.K)return ut(i),at(n),!0}}return ft(t),ut(i),at(n),!1}}function nt(){return null!==Pi.trackingDerivation}function it(t,n,i){var r=st(!0);ft(t),t.D=Array(t.P.length+100),t.B=0,t.G=++Pi.runId;var e,o=Pi.trackingDerivation;if(Pi.trackingDerivation=t,Pi.inBatch++,!0===Pi.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new Ci(t)}return Pi.inBatch--,Pi.trackingDerivation=o,function(t){for(var n=t.P,i=t.P=t.D,r=Vi.T,e=0,o=t.B,u=0;u<o;u++){var s=i[u];0===s.q&&(s.q=1,e!==u&&(i[e]=s),e++),s.C>r&&(r=s.C)}for(i.length=e,t.D=null,o=n.length;o--;){var a=n[o];0===a.q&&lt(a,t),a.q=0}for(;e--;){var f=i[e];1===f.q&&(f.q=0,vt(f,t))}r!==Vi.T&&(t.C=r,t.X())}(t),at(r),e}function rt(t){var n=t.P;t.P=[];for(var i=n.length;i--;)lt(n[i],t);t.C=Vi.I}function et(t){var n=ot();try{return t()}finally{ut(n)}}function ot(){var t=Pi.trackingDerivation;return Pi.trackingDerivation=null,t}function ut(t){Pi.trackingDerivation=t}function st(t){var n=Pi.allowStateReads;return Pi.allowStateReads=t,n}function at(t){Pi.allowStateReads=t}function ft(t){if(t.C!==Vi.T){t.C=Vi.T;for(var n=t.P,i=n.length;i--;)n[i].F=Vi.T}}function ct(){return Pi}function ht(){var t=new Ii;for(var n in t)-1===Ti.indexOf(n)&&(Pi[n]=t[n]);Pi.allowStateChanges=!Pi.enforceActions}function vt(t,n){t.U.add(n),t.F>n.C&&(t.F=n.C)}function lt(t,n){t.U.delete(n),0===t.U.size&&dt(t)}function dt(t){!1===t.H&&(t.H=!0,Pi.pendingUnobservations.push(t))}function bt(){Pi.inBatch++}function yt(){if(0==--Pi.inBatch){jt();for(var t=Pi.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.H=!1,0===i.U.size&&(i.W&&(i.W=!1,i.onBUO()),i instanceof Ni&&i.$())}Pi.pendingUnobservations=[]}}function pt(t){var n=Pi.trackingDerivation;return null!==n?(n.G!==t.J&&(t.J=n.G,n.D[n.B++]=t,!t.W&&Pi.trackingContext&&(t.W=!0,t.onBO())),!0):(0===t.U.size&&Pi.inBatch>0&&dt(t),!1)}function mt(t){t.F!==Vi.K&&(t.F=Vi.K,t.U.forEach((function(t){t.C===Vi.T&&t.X(),t.C=Vi.K})))}function Ot(t){return Pi.globalReactionErrorHandlers.push(t),function(){var n=Pi.globalReactionErrorHandlers.indexOf(t);n>=0&&Pi.globalReactionErrorHandlers.splice(n,1)}}function jt(){Pi.inBatch>0||Pi.isRunningReactions||Bi(wt)}function wt(){Pi.isRunningReactions=!0;for(var t=Pi.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].Y()}Pi.isRunningReactions=!1}function At(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function gt(t){return function(n,i){return o(n)?H(n.name||"<unnamed action>",n,t):o(i)?H(n,i,t):u(i)?x(n,i,t?Fi:qi):u(n)?S(E(t?"autoAction":"action",{name:n,autoAction:t})):void 0}}function _t(t){return W(0,!1,t,this,void 0)}function St(t){return o(t)&&!0===t.isMobxAction}function xt(t,n){function i(){t(e)}void 0===n&&(n=Jn);var e,o=n&&n.name||t.name||"Autorun@"+r();if(n.scheduler||n.delay){var u=Mt(n),s=!1;e=new Di(o,(function(){s||(s=!0,u((function(){s=!1,e.Z||e.track(i)})))}),n.onError,n.requiresObservable)}else e=new Di(o,(function(){this.track(i)}),n.onError,n.requiresObservable);return e.tt(),e.nt()}function Mt(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:zi}function Rt(t,n,i){function e(){if(l=!1,!y.Z){var n=!1;y.track((function(){var i=J(!1,(function(){return t(y)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&f(s,d,y),v=!1}}void 0===i&&(i=Jn);var o,u,s,a=i.name||"Reaction@"+r(),f=Hi(a,i.onError?(o=i.onError,u=n,function(){try{return u.apply(this,arguments)}catch(t){o.call(this,t)}}):n),c=!i.scheduler&&!i.delay,h=Mt(i),v=!0,l=!1,d=void 0,b=i.compareStructural?si.structural:i.equals||si.default,y=new Di(a,(function(){v||c?e():l||(l=!0,h(e))}),i.onError,i.requiresObservable);return y.tt(),y.nt()}function Vt(t,n,i){return Nt("onBO",t,n,i)}function Et(t,n,i){return Nt("onBUO",t,n,i)}function Nt(t,n,i,r){var e="function"==typeof r?Kn(n,i):Kn(n),u=o(r)?r:i,s=t+"L";return e[s]?e[s].add(u):e[s]=new Set([u]),function(){var t=e[s];t&&(t.delete(u),0===t.size&&delete e[s])}}function kt(i){!0===i.isolateGlobalState&&function(){if((Pi.pendingReactions.length||Pi.inBatch||Pi.isRunningReactions)&&t(36),Li=!0,Ki){var i=n();0==--i.__mobxInstanceCount&&(i.__mobxGlobals=void 0),Pi=new Ii}}();var r,e,o=i.useProxies,u=i.enforceActions;if(void 0!==o&&(Pi.useProxies="always"===o||"never"!==o&&"undefined"!=typeof Proxy),"ifavailable"===o&&(Pi.verifyProxies=!0),void 0!==u){var s="always"===u?"always":"observed"===u;Pi.enforceActions=s,Pi.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(t){t in i&&(Pi[t]=!!i[t])})),Pi.allowStateReads=!Pi.observableRequiresReaction,i.reactionScheduler&&(r=i.reactionScheduler,e=Bi,Bi=function(t){return r((function(){return e(t)}))})}function Ct(t,n,i,r){var e=ii(n),o=Vn(t,r)[ei];bt();try{ni(e).forEach((function(t){o.s(t,e[t],!i||!(t in i)||i[t])}))}finally{yt()}return t}function Tt(t,n){return It(Kn(t,n))}function It(t){var n,i={name:t.l};return t.P&&t.P.length>0&&(i.dependencies=(n=t.P,Array.from(new Set(n))).map(It)),i}function Kt(t,n){return Lt(Kn(t,n))}function Lt(t){var n={name:t.l};return function(t){return t.U&&t.U.size>0}(t)&&(n.observers=Array.from(function(t){return t.U}(t)).map(Lt)),n}function Pt(){this.message="FLOW_CANCELLED"}function Dt(t){return t instanceof Pt}function Bt(t){o(t.cancel)&&t.cancel()}function Gt(t){return t}function qt(t){return!0===(null==t?void 0:t.isMobXFlow)}function Xt(t,n,i){var r;return hr(t)||Rn(t)||Ri(t)?r=Ln(t):Nn(t)&&(r=Ln(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}}function Ft(t,n,i){return o(i)?function(t,n,i){return Ln(t,n).it(i)}(t,n,i):function(t,n){return Ln(t).it(n)}(t,n)}function Ut(t,n){if(void 0!==n){if(!1===Nn(t))return!1;if(!t[ei].rt.has(n))return!1;var i=Kn(t,n);return ki(i)}return ki(t)}function Ht(t){return Ut(t)}function Wt(t,n){return Ut(t,n)}function zt(t,n){return!!t&&(void 0!==n?!!Nn(t)&&t[ei].rt.has(n):Nn(t)||!!t[ei]||ui(t)||Gi(t)||ki(t))}function $t(t){return zt(t)}function Jt(t,n){return zt(t,n)}function Yt(n){return Nn(n)?n[ei].et():hr(n)||yr(n)?Array.from(n.keys()):Rn(n)?n.map((function(t,n){return n})):void t(5)}function Qt(n){return Nn(n)?Yt(n).map((function(t){return n[t]})):hr(n)?Yt(n).map((function(t){return n.get(t)})):yr(n)?Array.from(n.values()):Rn(n)?n.slice():void t(6)}function Zt(n){return Nn(n)?Yt(n).map((function(t){return[t,n[t]]})):hr(n)?Yt(n).map((function(t){return[t,n.get(t)]})):yr(n)?Array.from(n.entries()):Rn(n)?n.map((function(t,n){return[n,t]})):void t(7)}function tn(n,i,r){if(2!==arguments.length||yr(n))Nn(n)?n[ei].ot(i,r):hr(n)?n.set(i,r):yr(n)?n.add(i):Rn(n)?("number"!=typeof i&&(i=parseInt(i,10)),i<0&&t("Invalid index: '"+i+"'"),bt(),i>=n.length&&(n.length=i+1),n[i]=r,yt()):t(8);else{bt();var e=i;try{for(var o in e)tn(n,o,e[o])}finally{yt()}}}function nn(n,i){Nn(n)?n[ei].ut(i):hr(n)||yr(n)?n.delete(i):Rn(n)?("number"!=typeof i&&(i=parseInt(i,10)),n.splice(i,1)):t(9)}function rn(n,i){return Nn(n)?n[ei].st(i):hr(n)||yr(n)?n.has(i):Rn(n)?i>=0&&i<n.length:void t(10)}function en(n,i){if(rn(n,i))return Nn(n)?n[ei].at(i):hr(n)?n.get(i):Rn(n)?n[i]:void t(11)}function on(t,n,i,r){return o(i)?function(t,n,i,r){return Ln(t,n).ft(i,r)}(t,n,i,r):function(t,n,i){return Ln(t).ft(n,i)}(t,n,i)}function un(t,n,i){return t.set(n,i),i}function sn(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!$t(n))return n;if(Ri(n))return t(n.get(),i);if(i.has(n))return i.get(n);if(Rn(n)){var r=un(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if(yr(n)){var e=un(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(hr(n)){var o=un(i,n,new Map);return n.forEach((function(n,r){o.set(r,t(n,i))})),o}Yt(n);var u=un(i,n,{});return d(n).forEach((function(r){u[r]=t(n[r],i)})),u}(t,new Map)}function an(){t("trace() is not available in production builds");for(var n=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(n=r.pop());var o=fn(r);if(!o)return t("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");o.ct===Ei.NONE&&console.log("[mobx.trace] '"+o.l+"' tracing enabled"),o.ct=n?Ei.BREAK:Ei.LOG}function fn(t){switch(t.length){case 0:return Pi.trackingDerivation;case 1:return Kn(t[0]);case 2:return Kn(t[0],t[1])}}function cn(t,n){void 0===n&&(n=void 0),bt();try{return t.apply(n)}finally{yt()}}function hn(t,n,i){return 1===arguments.length||n&&"object"==typeof n?ln(t,n):vn(t,n,i||{})}function vn(t,n,i){var e;"number"==typeof i.timeout&&(e=setTimeout((function(){if(!u[ei].Z){u();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+r();var o=H(i.name+"-effect",n),u=xt((function(n){J(!1,t)&&(n.dispose(),e&&clearTimeout(e),o())}),i);return u}function ln(t,n){var i,r=new Promise((function(r,e){var o=vn(t,r,j({},n,{onError:e}));i=function(){o(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function dn(t){return t[ei]}function bn(t){return void 0!==t.ht&&t.ht.length>0}function yn(t,n){var i=t.ht||(t.ht=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function pn(n,i){var r=ot();try{for(var e=[].concat(n.ht||[]),o=0,u=e.length;o<u&&((i=e[o](i))&&!i.type&&t(14),i);o++);return i}finally{ut(r)}}function mn(t){return void 0!==t.vt&&t.vt.length>0}function On(t,n){var i=t.vt||(t.vt=[]);return i.push(n),e((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function jn(t,n){var i=ot(),r=t.vt;if(r){for(var e=0,o=(r=r.slice()).length;e<o;e++)r[e](n);ut(i)}}function wn(t,n,i){var r=Vn(t,i)[ei];bt();try{null!=n||(n=function(t){return p(t,ri)||f(t,ri,j({},t[ri])),t[ri]}(t)),ni(n).forEach((function(t){return r.u(t,n[t])}))}finally{yt()}return t}function An(t,n,i){if(a(t))return Ct(t,t,n,i);var r=Vn(t,i)[ei];bt();try{if(t[pr])for(var e in t[pr])r.u(e,t[pr][e]);else for(var o,u=((o={})[ei]=1,o.constructor=1,o),s=function(t){u[t]||(u[t]=1,r.u(t,!n||!(t in n)||n[t]))},f=t;f&&f!==zn;)ni(f).forEach(s),f=Object.getPrototypeOf(f)}finally{yt()}return t}function gn(t,n,e,o){void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),i();var u=new nr(e,n,o,!1);c(u.rt,ei,u);var s=new Proxy(u.rt,tr);if(u.p=s,t&&t.length){var a=Y(!0);u.lt(0,0,t),Q(a)}return s}function _n(t,n){"function"==typeof Array.prototype[t]&&(ir[t]=n(t))}function Sn(t){return function(){var n=this[ei];n.dt.reportObserved();var i=n.bt(n.rt);return i[t].apply(i,arguments)}}function xn(t){return function(n,i){var r=this,e=this[ei];return e.dt.reportObserved(),e.bt(e.rt)[t]((function(t,e){return n.call(i,t,e,r)}))}}function Mn(t){return function(){var n=this,i=this[ei];i.dt.reportObserved();var r=i.bt(i.rt),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function Rn(t){return s(t)&&or(t[ei])}function Vn(t,n){var i;if(p(t,ei))return t;var e=null!=(i=null==n?void 0:n.name)?i:(a(t)?"ObservableObject":t.constructor.name)+"@"+r(),o=new Or(t,new Map,b(e),function(t){return t?!0===t.deep?ci:!1===t.deep?hi:t.defaultDecorator:void 0}(n),null==n?void 0:n.autoBind);return f(t,ei,o),t}function En(t){return mr[t]||(mr[t]={get:function(){return this[ei].yt(t)},set:function(n){return this[ei].pt(t,n)}})}function Nn(t){return!!s(t)&&jr(t[ei])}function kn(t,n,i){n.i&&delete t.h[ri][i]}function Cn(t){Wn(gr.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[ei].at(t)},set:function(n){this[ei].ot(t,n)}}}(t))}function Tn(t){if(t>wr){for(var n=wr;n<t+100;n++)Cn(n);wr=t}}function In(t,n,i){return new gr(t,n,i)}function Kn(n,i){if("object"==typeof n&&null!==n){if(Rn(n))return void 0!==i&&t(23),n[ei].dt;if(yr(n))return n[ei];if(hr(n)){if(void 0===i)return n.Ot;var r=n.jt.get(i)||n.wt.get(i);return r||t(25,i,Pn(n)),r}if(Nn(n)){if(!i)return t(26);var e=n[ei].rt.get(i);return e||t(27,i,Pn(n)),e}if(ui(n)||ki(n)||Gi(n))return n}else if(o(n)&&Gi(n[ei]))return n[ei];t(28)}function Ln(n,i){return n||t(29),void 0!==i?Ln(Kn(n,i)):ui(n)||ki(n)||Gi(n)||hr(n)||yr(n)?n:n[ei]?n[ei]:void t(24,n)}function Pn(t,n){return(void 0!==n?Kn(t,n):Nn(t)||hr(t)||yr(t)?Ln(t):Kn(t)).l}function Dn(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,u){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!o(s)&&"object"!==s&&"object"!=typeof i)return!1;var a=_r.call(n);if(a!==_r.call(i))return!1;switch(a){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=Bn(n),i=Bn(i);var f="[object Array]"===a;if(!f){if("object"!=typeof n||"object"!=typeof i)return!1;var c=n.constructor,h=i.constructor;if(c!==h&&!(o(c)&&c instanceof c&&o(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),u=u||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return u[v]===i;if(e.push(n),u.push(i),f){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,u))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!p(i,l=d[v])||!t(n[l],i[l],r-1,e,u))return!1}return e.pop(),u.pop(),!0}(t,n,i)}function Bn(t){return Rn(t)?t.slice():v(t)||hr(t)||l(t)||yr(t)?Array.from(t.entries()):t}function Gn(t){return t[Symbol.iterator]=qn,t}function qn(){return this}function Xn(t,n,i){return t.get?ji:!t.set&&(o(t.value)?!(e=null==(r=t.value)?void 0:r.constructor)||"GeneratorFunction"!==e.name&&"GeneratorFunction"!==e.displayName?!St(t.value)&&(i?Wi.bound:Wi):!qt(t.value)&&Yi:n);var r,e}var Fn={},Un=Object.assign,Hn=Object.getOwnPropertyDescriptor,Wn=Object.defineProperty,zn=Object.prototype,$n=[];Object.freeze($n);var Jn={};Object.freeze(Jn);var Yn="undefined"!=typeof Proxy,Qn=""+Object,Zn=function(){},ti=void 0!==Object.getOwnPropertySymbols,ni="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:ti?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,ii=Object.getOwnPropertyDescriptors||function(t){var n={};return ni(t).forEach((function(i){n[i]=Hn(t,i)})),n},ri=Symbol("mobx-stored-annotations"),ei=Symbol("mobx administration"),oi=function(){function t(t){void 0===t&&(t="Atom@"+r()),this.l=void 0,this.H=!1,this.W=!1,this.U=new Set,this.q=0,this.J=0,this.F=Vi.I,this.onBOL=void 0,this.onBUOL=void 0,this.l=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return pt(this)},n.reportChanged=function(){bt(),mt(this),yt()},n.toString=function(){return this.l},t}(),ui=h("Atom",oi),si={identity:function(t,n){return t===n},structural:function(t,n){return Dn(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return Dn(t,n,1)}},ai=S({t:"override",u:function(){},s:function(){t("'"+this.t+"' can only be used with 'makeObservable'")}}),fi={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(fi);var ci=B("observable"),hi=B("observable.ref",{enhancer:V}),vi=B("observable.shallow",{enhancer:function(t,n,i){return null==t||Nn(t)||Rn(t)||hr(t)||yr(t)?t:Array.isArray(t)?pi.array(t,{name:i,deep:!1}):a(t)?pi.object(t,void 0,{name:i,deep:!1}):v(t)?pi.map(t,{name:i,deep:!1}):l(t)?pi.set(t,{name:i,deep:!1}):void 0}}),li=B("observable.struct",{enhancer:function(t,n){return Dn(t,n)?n:t}}),di=S(ci);Object.assign(U,di);var bi,yi,pi=Un(U,{box:function(t,n){var i=X(n);return new Mi(t,F(i),i.name,!0,i.equals)},array:function(t,n){var i=X(n);return(!1===Pi.useProxies||!1===i.proxy?In:gn)(t,F(i),i.name)},map:function(t,n){var i=X(n);return new cr(t,F(i),i.name)},set:function(t,n){var i=X(n);return new br(t,F(i),i.name)},object:function(t,n,r){return Ct(!1===Pi.useProxies||!1===(null==r?void 0:r.proxy)?Vn({},r):function(t,n){var r,e;return i(),null!=(e=(r=(t=Vn(t,n))[ei]).p)?e:r.p=new Proxy(t,Qi)}({},r),t,n)},ref:S(hi),shallow:S(vi),deep:di,struct:S(li)}),mi=L("computed"),Oi=L("computed.struct",{equals:si.structural}),ji=function(t,n){if(u(n))return x(t,n,mi);if(a(t))return S(L("computed",t));var i=a(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new Ni(i)};Object.assign(ji,mi),ji.struct=S(Oi);var wi,Ai=0,gi=1,_i=null!=(bi=null==(yi=Hn((function(){}),"name"))?void 0:yi.configurable)&&bi,Si={value:"action",configurable:!0,writable:!1,enumerable:!1};wi=Symbol.toPrimitive;var xi,Mi=function(t){function n(n,i,e,o,u){var s;return void 0===e&&(e="ObservableValue@"+r()),void 0===u&&(u=si.default),(s=t.call(this,e)||this).enhancer=void 0,s.l=void 0,s.equals=void 0,s.At=!1,s.ht=void 0,s.vt=void 0,s.gt=void 0,s.dehancer=void 0,s.enhancer=i,s.l=e,s.equals=u,s.gt=i(n,void 0,e),s}w(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this._t(t))!==Pi.UNCHANGED&&this.St(t)},i._t=function(t){if(bn(this)){var n=pn(this,{object:this,type:Zi,newValue:t});if(!n)return Pi.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.gt,this.l),this.equals(this.gt,t)?Pi.UNCHANGED:t},i.St=function(t){var n=this.gt;this.gt=t,this.reportChanged(),mn(this)&&jn(this,{type:Zi,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.gt)},i.it=function(t){return yn(this,t)},i.ft=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.l,object:this,type:Zi,newValue:this.gt,oldValue:void 0}),On(this,t)},i.raw=function(){return this.gt},i.toJSON=function(){return this.get()},i.toString=function(){return this.l+"["+this.gt+"]"},i.valueOf=function(){return y(this.get())},i[wi]=function(){return this.valueOf()},n}(oi),Ri=h("ObservableValue",Mi);xi=Symbol.toPrimitive;var Vi,Ei,Ni=function(){function n(n){this.C=Vi.I,this.P=[],this.D=null,this.W=!1,this.H=!1,this.U=new Set,this.q=0,this.G=0,this.J=0,this.F=Vi.T,this.B=0,this.xt="#"+r(),this.gt=new Ci(null),this.l=void 0,this.Mt=void 0,this.Rt=!1,this.Vt=!1,this.derivation=void 0,this.Et=void 0,this.ct=Ei.NONE,this.Nt=void 0,this.kt=void 0,this.Ct=void 0,this.Tt=void 0,this.onBOL=void 0,this.onBUOL=void 0,n.get||t(31),this.derivation=n.get,this.l=n.name||"ComputedValue@"+r(),n.set&&(this.Et=H(this.l+"-setter",n.set)),this.kt=n.equals||(n.compareStructural||n.struct?si.structural:si.default),this.Nt=n.context,this.Ct=!!n.requiresReaction,this.Tt=!!n.keepAlive}var i=n.prototype;return i.X=function(){!function(t){t.F===Vi.T&&(t.F=Vi.L,t.U.forEach((function(t){t.C===Vi.T&&(t.C=Vi.L,t.X())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.Rt&&t(32,this.l,this.derivation),0!==Pi.inBatch||0!==this.U.size||this.Tt){if(pt(this),tt(this)){var n=Pi.trackingContext;this.Tt&&!n&&(Pi.trackingContext=this),this.trackAndCompute()&&function(t){t.F!==Vi.K&&(t.F=Vi.K,t.U.forEach((function(n){n.C===Vi.L?n.C=Vi.K:n.C===Vi.T&&(t.F=Vi.T)})))}(this),Pi.trackingContext=n}}else tt(this)&&(this.It(),bt(),this.gt=this.Kt(!1),yt());var i=this.gt;if(Z(i))throw i.cause;return i},i.set=function(n){if(this.Et){this.Vt&&t(33,this.l),this.Vt=!0;try{this.Et.call(this.Nt,n)}finally{this.Vt=!1}}else t(34,this.l)},i.trackAndCompute=function(){var t=this.gt,n=this.C===Vi.I,i=this.Kt(!0),r=n||Z(t)||Z(i)||!this.kt(t,i);return r&&(this.gt=i),r},i.Kt=function(t){this.Rt=!0;var n,i=Y(!1);if(t)n=it(this,this.derivation,this.Nt);else if(!0===Pi.disableErrorBoundaries)n=this.derivation.call(this.Nt);else try{n=this.derivation.call(this.Nt)}catch(t){n=new Ci(t)}return Q(i),this.Rt=!1,n},i.$=function(){this.Tt||(rt(this),this.gt=void 0)},i.ft=function(t,n){var i=this,r=!0,e=void 0;return xt((function(){var o=i.get();if(!r||n){var u=ot();t({observableKind:"computed",debugObjectName:i.l,type:Zi,object:i,newValue:o,oldValue:e}),ut(u)}r=!1,e=o}))},i.It=function(){},i.toString=function(){return this.l+"["+this.derivation+"]"},i.valueOf=function(){return y(this.get())},i[xi]=function(){return this.valueOf()},n}(),ki=h("ComputedValue",Ni);!function(t){t[t.I=-1]="NOT_TRACKING_",t[t.T=0]="UP_TO_DATE_",t[t.L=1]="POSSIBLY_STALE_",t[t.K=2]="STALE_"}(Vi||(Vi={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(Ei||(Ei={}));var Ci=function(t){this.cause=void 0,this.cause=t},Ti=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],Ii=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},Ki=!0,Li=!1,Pi=function(){var i=n();return i.__mobxInstanceCount>0&&!i.__mobxGlobals&&(Ki=!1),i.__mobxGlobals&&i.__mobxGlobals.version!==(new Ii).version&&(Ki=!1),Ki?i.__mobxGlobals?(i.__mobxInstanceCount+=1,i.__mobxGlobals.UNCHANGED||(i.__mobxGlobals.UNCHANGED={}),i.__mobxGlobals):(i.__mobxInstanceCount=1,i.__mobxGlobals=new Ii):(setTimeout((function(){Li||t(35)}),1),new Ii)}(),Di=function(){function t(t,n,i,e){void 0===t&&(t="Reaction@"+r()),void 0===e&&(e=!1),this.l=void 0,this.Lt=void 0,this.Pt=void 0,this.Dt=void 0,this.P=[],this.D=[],this.C=Vi.I,this.q=0,this.G=0,this.B=0,this.xt="#"+r(),this.Z=!1,this.Bt=!1,this.Gt=!1,this.qt=!1,this.ct=Ei.NONE,this.l=t,this.Lt=n,this.Pt=i,this.Dt=e}var n=t.prototype;return n.X=function(){this.tt()},n.tt=function(){this.Bt||(this.Bt=!0,Pi.pendingReactions.push(this),jt())},n.isScheduled=function(){return this.Bt},n.Y=function(){if(!this.Z){bt(),this.Bt=!1;var t=Pi.trackingContext;if(Pi.trackingContext=this,tt(this)){this.Gt=!0;try{this.Lt()}catch(t){this.Xt(t)}}Pi.trackingContext=t,yt()}},n.track=function(t){if(!this.Z){bt(),this.qt=!0;var n=Pi.trackingContext;Pi.trackingContext=this;var i=it(this,t,void 0);Pi.trackingContext=n,this.qt=!1,this.Gt=!1,this.Z&&rt(this),Z(i)&&this.Xt(i.cause),yt()}},n.Xt=function(t){var n=this;if(this.Pt)this.Pt(t,this);else{if(Pi.disableErrorBoundaries)throw t;Pi.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),Pi.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.Z||(this.Z=!0,this.qt||(bt(),rt(this),yt()))},n.nt=function(){var t=this.dispose.bind(this);return t[ei]=this,t},n.toString=function(){return"Reaction["+this.l+"]"},n.trace=function(t){void 0===t&&(t=!1),an(this,t)},t}(),Bi=function(t){return t()},Gi=h("Reaction",Di),qi=E("action"),Xi=E("action.bound",{bound:!0}),Fi=E("autoAction",{autoAction:!0}),Ui=E("autoAction.bound",{autoAction:!0,bound:!0}),Hi=gt(!1);Object.assign(Hi,qi);var Wi=gt(!0);Object.assign(Wi,Fi),Hi.bound=S(Xi),Wi.bound=S(Ui);var zi=function(t){return t()},$i=0;Pt.prototype=Object.create(Error.prototype);var Ji={t:"flow",o:void 0,u:T,s:I},Yi=Object.assign((function(t,n){if(u(n))return x(t,n,Ji);var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,u=++$i,s=Hi(r+" - runid: "+u+" - init",i).apply(n,e),a=void 0,f=new Promise((function(n,i){function e(t){var n;a=void 0;try{n=Hi(r+" - runid: "+u+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}c(n)}function f(t){var n;a=void 0;try{n=Hi(r+" - runid: "+u+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}c(n)}function c(t){if(!o(null==t?void 0:t.then))return t.done?n(t.value):(a=Promise.resolve(t.value)).then(e,f);t.then(c,i)}var h=0;t=i,e(void 0)}));return f.cancel=Hi(r+" - runid: "+u+" - cancel",(function(){try{a&&Bt(a);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(Zn,Zn),Bt(i),t(new Pt)}catch(n){t(n)}})),f};return e.isMobXFlow=!0,e}),Ji),Qi={has:function(t,n){return dn(t).st(n)},get:function(t,n){return dn(t).at(n)},set:function(t,n,i){var r;return!!u(n)&&(null==(r=dn(t).ot(n,i,!0))||r)},deleteProperty:function(t,n){var i;return!!u(n)&&(null==(i=dn(t).ut(n,!0))||i)},defineProperty:function(t,n,i){var r;return null==(r=dn(t).v(n,i))||r},ownKeys:function(t){return dn(t).Ft()},preventExtensions:function(){t(13)}},Zi="update",tr={get:function(t,n){var i=t[ei];return n===ei?i:"length"===n?i.Ut():"string"!=typeof n||isNaN(n)?p(ir,n)?ir[n]:t[n]:i.at(parseInt(n))},set:function(t,n,i){var r=t[ei];return"length"===n&&r.Ht(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.ot(parseInt(n),i),!0},preventExtensions:function(){t(15)}},nr=function(){function n(t,n,i,e){this.Wt=void 0,this.zt=void 0,this.dt=void 0,this.rt=[],this.ht=void 0,this.vt=void 0,this.$t=void 0,this.dehancer=void 0,this.p=void 0,this.Jt=0,this.Wt=i,this.zt=e,this.dt=new oi(t||"ObservableArray@"+r()),this.$t=function(i,r){return n(i,r,t+"[..]")}}var i=n.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.bt=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.it=function(t){return yn(this,t)},i.ft=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.p,debugObjectName:this.dt.l,type:"splice",index:0,added:this.rt.slice(),addedCount:this.rt.length,removed:[],removedCount:0}),On(this,t)},i.Ut=function(){return this.dt.reportObserved(),this.rt.length},i.Ht=function(n){("number"!=typeof n||n<0)&&t("Out of range: "+n);var i=this.rt.length;if(n!==i)if(n>i){for(var r=Array(n-i),e=0;e<n-i;e++)r[e]=void 0;this.lt(i,0,r)}else this.lt(n,i-n)},i.Qt=function(n,i){n!==this.Jt&&t(16),this.Jt+=i,this.zt&&i>0&&Tn(n+i+1)},i.lt=function(t,n,i){var r=this,e=this.rt.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=$n),bn(this)){var o=pn(this,{object:this.p,type:"splice",index:t,removedCount:n,added:i});if(!o)return $n;n=o.removedCount,i=o.added}if(i=0===i.length?i:i.map((function(t){return r.$t(t,void 0)})),this.zt){var u=i.length-n;this.Qt(e,u)}var s=this.Zt(t,n,i);return 0===n&&0===i.length||this.tn(t,i,s),this.bt(s)},i.Zt=function(t,n,i){var r;if(i.length<1e4)return(r=this.rt).splice.apply(r,[t,n].concat(i));var e=this.rt.slice(t,t+n),o=this.rt.slice(t+n);this.rt.length=t+i.length-n;for(var u=0;u<i.length;u++)this.rt[t+u]=i[u];for(var s=0;s<o.length;s++)this.rt[t+i.length+s]=o[s];return e},i.nn=function(t,n,i){var r=!this.Wt&&!1,e=mn(this),o=e||r?{observableKind:"array",object:this.p,type:Zi,debugObjectName:this.dt.l,index:t,newValue:n,oldValue:i}:null;this.dt.reportChanged(),e&&jn(this,o)},i.tn=function(t,n,i){var r=!this.Wt&&!1,e=mn(this),o=e||r?{observableKind:"array",object:this.p,debugObjectName:this.dt.l,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.dt.reportChanged(),e&&jn(this,o)},i.at=function(t){if(t<this.rt.length)return this.dt.reportObserved(),this.Yt(this.rt[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.rt.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.ot=function(n,i){var r=this.rt;if(n<r.length){var e=r[n];if(bn(this)){var o=pn(this,{type:Zi,object:this.p,index:n,newValue:i});if(!o)return;i=o.newValue}(i=this.$t(i,e))!==e&&(r[n]=i,this.nn(n,i,e))}else n===r.length?this.lt(n,0,[i]):t(17,n,r.length)},n}(),ir={clear:function(){return this.splice(0)},replace:function(t){var n=this[ei];return n.lt(0,n.rt.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var o=this[ei];switch(arguments.length){case 0:return[];case 1:return o.lt(t);case 2:return o.lt(t,n)}return o.lt(t,n,r)},spliceWithArray:function(t,n,i){return this[ei].lt(t,n,i)},push:function(){for(var t=this[ei],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.lt(t.rt.length,0,i),t.rt.length},pop:function(){return this.splice(Math.max(this[ei].rt.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[ei],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.lt(0,0,i),t.rt.length},reverse:function(){return Pi.trackingDerivation&&t(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){Pi.trackingDerivation&&t(37,"sort");var n=this.slice();return n.sort.apply(n,arguments),this.replace(n),this},remove:function(t){var n=this[ei],i=n.bt(n.rt).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};_n("concat",Sn),_n("flat",Sn),_n("includes",Sn),_n("indexOf",Sn),_n("join",Sn),_n("lastIndexOf",Sn),_n("slice",Sn),_n("toString",Sn),_n("toLocaleString",Sn),_n("every",xn),_n("filter",xn),_n("find",xn),_n("findIndex",xn),_n("flatMap",xn),_n("forEach",xn),_n("map",xn),_n("some",xn),_n("reduce",Mn),_n("reduceRight",Mn);var rr,er,or=h("ObservableArrayAdministration",nr),ur={},sr="add";rr=Symbol.iterator,er=Symbol.toStringTag;var ar,fr,cr=function(){function n(n,i,e){void 0===i&&(i=R),void 0===e&&(e="ObservableMap@"+r()),this.$t=void 0,this.l=void 0,this[ei]=ur,this.jt=void 0,this.wt=void 0,this.Ot=void 0,this.ht=void 0,this.vt=void 0,this.dehancer=void 0,this.$t=i,this.l=e,o(Map)||t(18),this.Ot=M(this.l+".keys()"),this.jt=new Map,this.wt=new Map,this.merge(n)}var i=n.prototype;return i.st=function(t){return this.jt.has(t)},i.has=function(t){var n=this;if(!Pi.trackingDerivation)return this.st(t);var i=this.wt.get(t);if(!i){var r=i=new Mi(this.st(t),V,this.l+"."+b(t)+"?",!1);this.wt.set(t,r),Et(r,(function(){return n.wt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.st(t);if(bn(this)){var r=pn(this,{type:i?Zi:sr,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.in(t,n):this.rn(t,n),this},i.delete=function(t){var n=this;if(bn(this)&&!pn(this,{type:"delete",object:this,name:t}))return!1;if(this.st(t)){var i=mn(this),r=i?{observableKind:"map",debugObjectName:this.l,type:"delete",object:this,oldValue:this.jt.get(t).gt,name:t}:null;return cn((function(){n.Ot.reportChanged(),n.en(t,!1),n.jt.get(t).St(void 0),n.jt.delete(t)})),i&&jn(this,r),!0}return!1},i.en=function(t,n){var i=this.wt.get(t);i&&i.St(n)},i.in=function(t,n){var i=this.jt.get(t);if((n=i._t(n))!==Pi.UNCHANGED){var r=mn(this),e=r?{observableKind:"map",debugObjectName:this.l,type:Zi,object:this,oldValue:i.gt,name:t,newValue:n}:null;i.St(n),r&&jn(this,e)}},i.rn=function(t,n){var i=this;cn((function(){var r=new Mi(n,i.$t,i.l+"."+b(t),!1);i.jt.set(t,r),n=r.gt,i.en(t,!0),i.Ot.reportChanged()}));var r=mn(this);r&&jn(this,r?{observableKind:"map",debugObjectName:this.l,type:sr,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Yt(this.jt.get(t).get()):this.Yt(void 0)},i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.Ot.reportObserved(),this.jt.keys()},i.values=function(){var t=this,n=this.keys();return Gn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return Gn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[rr]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=_(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(n){var i=this;return hr(n)&&(n=new Map(n)),cn((function(){a(n)?d(n).forEach((function(t){return i.set(t,n[t])})):Array.isArray(n)?n.forEach((function(t){return i.set(t[0],t[1])})):v(n)?(n.constructor!==Map&&t(19,n),n.forEach((function(t,n){return i.set(n,t)}))):null!=n&&t(20,n)})),this},i.clear=function(){var t=this;cn((function(){et((function(){for(var n,i=_(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(n){var i=this;return cn((function(){for(var r,e=function(n){if(v(n)||hr(n))return n;if(Array.isArray(n))return new Map(n);if(a(n)){var i=new Map;for(var r in n)i.set(r,n[r]);return i}return t(21,n)}(n),o=new Map,u=!1,s=_(i.jt.keys());!(r=s()).done;){var f=r.value;if(!e.has(f))if(i.delete(f))u=!0;else{var c=i.jt.get(f);o.set(f,c)}}for(var h,l=_(e.entries());!(h=l()).done;){var d=h.value,b=d[0],y=d[1],p=i.jt.has(b);if(i.set(b,y),i.jt.has(b)){var m=i.jt.get(b);o.set(b,m),p||(u=!0)}}if(!u)if(i.jt.size!==o.size)i.Ot.reportChanged();else for(var O=i.jt.keys(),j=o.keys(),w=O.next(),A=j.next();!w.done;){if(w.value!==A.value){i.Ot.reportChanged();break}w=O.next(),A=j.next()}i.jt=o})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i.ft=function(t){return On(this,t)},i.it=function(t){return yn(this,t)},O(n,[{key:"size",get:function(){return this.Ot.reportObserved(),this.jt.size}},{key:er,get:function(){return"Map"}}]),n}(),hr=h("ObservableMap",cr),vr={};ar=Symbol.iterator,fr=Symbol.toStringTag;var lr,dr,br=function(){function n(n,i,e){void 0===i&&(i=R),void 0===e&&(e="ObservableSet@"+r()),this.l=void 0,this[ei]=vr,this.jt=new Set,this.dt=void 0,this.vt=void 0,this.ht=void 0,this.dehancer=void 0,this.$t=void 0,this.l=e,o(Set)||t(22),this.dt=M(this.l),this.$t=function(t,n){return i(t,n,e)},n&&this.replace(n)}var i=n.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;cn((function(){et((function(){for(var n,i=_(t.jt.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=_(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(bn(this)&&!pn(this,{type:sr,object:this,newValue:t}))return this;if(!this.has(t)){cn((function(){n.jt.add(n.$t(t,void 0)),n.dt.reportChanged()}));var i=mn(this);i&&jn(this,i?{observableKind:"set",debugObjectName:this.l,type:sr,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(bn(this)&&!pn(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=mn(this),r=i?{observableKind:"set",debugObjectName:this.l,type:"delete",object:this,oldValue:t}:null;return cn((function(){n.dt.reportChanged(),n.jt.delete(t)})),i&&jn(this,r),!0}return!1},i.has=function(t){return this.dt.reportObserved(),this.jt.has(this.Yt(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return Gn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.dt.reportObserved();var t=this,n=0,i=Array.from(this.jt.values());return Gn({next:function(){return n<i.length?{value:t.Yt(i[n++]),done:!1}:{done:!0}}})},i.replace=function(n){var i=this;return yr(n)&&(n=new Set(n)),cn((function(){Array.isArray(n)||l(n)?(i.clear(),n.forEach((function(t){return i.add(t)}))):null!=n&&t("Cannot initialize set from "+n)})),this},i.ft=function(t){return On(this,t)},i.it=function(t){return yn(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[ar]=function(){return this.values()},O(n,[{key:"size",get:function(){return this.dt.reportObserved(),this.jt.size}},{key:fr,get:function(){return"Set"}}]),n}(),yr=h("ObservableSet",br),pr=Symbol("mobx-inferred-annotations"),mr=Object.create(null),Or=function(){function n(t,n,i,r,e){void 0===n&&(n=new Map),void 0===r&&(r=pi),void 0===e&&(e=!1),this.h=void 0,this.rt=void 0,this.l=void 0,this.on=void 0,this.un=void 0,this.Ot=void 0,this.vt=void 0,this.ht=void 0,this.p=void 0,this.m=void 0,this.sn=void 0,this.an=void 0,this.h=t,this.rt=n,this.l=i,this.on=r,this.un=e,this.Ot=new oi(i+".keys"),this.m=a(this.h)}var i=n.prototype;return i.yt=function(t){return this.rt.get(t).get()},i.pt=function(t,n){var i=this.rt.get(t);if(i instanceof Ni)return i.set(n),!0;if(bn(this)){var r=pn(this,{type:Zi,object:this.p||this.h,name:t,newValue:n});if(!r)return null;n=r.newValue}if((n=i._t(n))!==Pi.UNCHANGED){var e=mn(this),o=e?{type:Zi,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,oldValue:i.gt,name:t,newValue:n}:null;i.St(n),e&&jn(this,o)}return!0},i.at=function(t){return Pi.trackingDerivation&&!p(this.h,t)&&this.st(t),this.h[t]},i.ot=function(t,n,i){return void 0===i&&(i=!1),p(this.h,t)?this.rt.has(t)?this.pt(t,n):i?Reflect.set(this.h,t,n):(this.h[t]=n,!0):this.s(t,{value:n,enumerable:!0,writable:!0,configurable:!0},this.on,i)},i.st=function(t){if(!Pi.trackingDerivation)return t in this.h;this.an||(this.an=new Map);var n=this.an.get(t);return n||(n=new Mi(t in this.h,V,this.l+"."+b(t)+"?",!1),this.an.set(t,n)),n.get()},i.u=function(t,n){!0===n&&(n=this.fn(t)),!1!==n&&n.u(this,t)},i.s=function(t,n,i,r){if(void 0===r&&(r=!1),!0===i&&(i=Xn(n,this.on,this.un)),!1===i)return this.v(t,n,r);var e=i.s(this,t,n,r);return e&&kn(this,i,t),e},i.fn=function(n){var i,r=null==(i=this.h[pr])?void 0:i[n];if(r)return r;for(var e=this.h;e&&e!==zn;){var o=Hn(e,n);if(o){r=Xn(o,this.on,this.un);break}e=Object.getPrototypeOf(e)}if(void 0===r&&t(1,"true",n),!this.m){var u=Object.getPrototypeOf(this.h);p(u,pr)||f(u,pr,{}),u[pr][n]=r}return r},i.v=function(t,n,i){void 0===i&&(i=!1);try{bt();var r=this.ut(t);if(!r)return r;if(bn(this)){var e=pn(this,{object:this.p||this.h,name:t,type:sr,newValue:n.value});if(!e)return null;var o=e.newValue;n.value!==o&&(n=j({},n,{value:o}))}if(i){if(!Reflect.defineProperty(this.h,t,n))return!1}else Wn(this.h,t,n);this.cn(t,n.value)}finally{yt()}return!0},i.j=function(t,n,i,r){void 0===r&&(r=!1);try{bt();var e=this.ut(t);if(!e)return e;if(bn(this)){var o=pn(this,{object:this.p||this.h,name:t,type:sr,newValue:n});if(!o)return null;n=o.newValue}var u=En(t),s={configurable:this.m,enumerable:!0,get:u.get,set:u.set};if(r){if(!Reflect.defineProperty(this.h,t,s))return!1}else Wn(this.h,t,s);var a=new Mi(n,i,this.l+"."+b(t),!1);this.rt.set(t,a),this.cn(t,a.gt)}finally{yt()}return!0},i.O=function(t,n,i){void 0===i&&(i=!1);try{bt();var r=this.ut(t);if(!r)return r;if(bn(this)&&!pn(this,{object:this.p||this.h,name:t,type:sr,newValue:void 0}))return null;n.name||(n.name=this.l+"."+b(t)),n.context=this.p||this.h;var e=En(t),o={configurable:this.m,enumerable:!1,get:e.get,set:e.set};if(i){if(!Reflect.defineProperty(this.h,t,o))return!1}else Wn(this.h,t,o);this.rt.set(t,new Ni(n)),this.cn(t,void 0)}finally{yt()}return!0},i.ut=function(t,n){if(void 0===n&&(n=!1),!p(this.h,t))return!0;if(bn(this)&&!pn(this,{object:this.p||this.h,name:t,type:"remove"}))return null;try{var i,r;bt();var e,o=mn(this),u=this.rt.get(t),s=void 0;if(!u&&o&&(s=null==(e=Hn(this.h,t))?void 0:e.value),n){if(!Reflect.deleteProperty(this.h,t))return!1}else delete this.h[t];u&&(this.rt.delete(t),u instanceof Mi&&(s=u.gt),mt(u)),this.Ot.reportChanged(),null==(i=this.an)||null==(r=i.get(t))||r.set(t in this.h),o&&o&&jn(this,{type:"remove",observableKind:"object",object:this.p||this.h,debugObjectName:this.l,oldValue:s,name:t})}finally{yt()}return!0},i.ft=function(t){return On(this,t)},i.it=function(t){return yn(this,t)},i.cn=function(t,n){var i,r,e=mn(this);e&&e&&jn(this,e?{type:sr,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,name:t,newValue:n}:null),null==(i=this.an)||null==(r=i.get(t))||r.set(!0),this.Ot.reportChanged()},i.Ft=function(){return this.Ot.reportObserved(),ni(this.h)},i.et=function(){return this.Ot.reportObserved(),Object.keys(this.h)},n}(),jr=h("ObservableObjectAdministration",Or),wr=0,Ar=function(){};lr=Ar,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(lr.prototype,dr):void 0!==lr.prototype.__proto__?lr.prototype.__proto__=dr:lr.prototype=dr;var gr=function(t){function n(n,i,e,o){var u;void 0===e&&(e="ObservableArray@"+r()),void 0===o&&(o=!1),u=t.call(this)||this;var s=new nr(e,i,o,!0);if(s.p=A(u),c(A(u),ei,s),n&&n.length){var a=Y(!0);u.spliceWithArray(0,0,n),Q(a)}return u}w(n,t);var i=n.prototype;return i.concat=function(){this[ei].dt.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return Rn(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return Gn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},O(n,[{key:"length",get:function(){return this[ei].Ut()},set:function(t){this[ei].Ht(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(Ar);Object.entries(ir).forEach((function(t){var n=t[0];"concat"!==n&&f(gr.prototype,n,t[1])})),Tn(1e3);var _r=zn.toString;["Symbol","Map","Set","Symbol"].forEach((function(i){void 0===n()[i]&&t("MobX requires global '"+i+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:At,extras:{getDebugName:Pn},$mobx:ei});export{ei as $mobx,Pt as FlowCancellationError,cr as ObservableMap,br as ObservableSet,Di as Reaction,J as _allowStateChanges,_t as _allowStateChangesInsideComputed,at as _allowStateReadsEnd,st as _allowStateReadsStart,Wi as _autoAction,$ as _endAction,Ln as _getAdministration,ct as _getGlobalState,Xt as _interceptReads,nt as _isComputingDerivation,ht as _resetGlobalState,z as _startAction,Hi as action,xt as autorun,si as comparer,ji as computed,kt as configure,M as createAtom,Zt as entries,Ct as extendObservable,Yi as flow,Gt as flowResult,en as get,Kn as getAtom,Pn as getDebugName,Tt as getDependencyTree,Kt as getObserverTree,rn as has,Ft as intercept,St as isAction,Ri as isBoxedObservable,Ht as isComputed,Wt as isComputedProp,Dt as isFlowCancellationError,$t as isObservable,Rn as isObservableArray,hr as isObservableMap,Nn as isObservableObject,Jt as isObservableProp,yr as isObservableSet,Yt as keys,An as makeAutoObservable,wn as makeObservable,pi as observable,on as observe,Vt as onBecomeObserved,Et as onBecomeUnobserved,Ot as onReactionError,ai as override,Rt as reaction,nn as remove,_t as runInAction,tn as set,At as spy,sn as toJS,an as trace,cn as transaction,et as untracked,Qt as values,hn as when};
//# sourceMappingURL=mobx.esm.production.min.js.map

@@ -1,2 +0,2 @@

!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).mobx={})}(this,(function(t){function n(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function i(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:an}function r(){mn||n("Proxy not available")}function e(){return++Zn.mobxGuid}function o(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function u(t){return"function"==typeof t}function s(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function c(t){return null!==t&&"object"==typeof t}function f(t){var n;if(!c(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===jn}function a(t){var n=null==t?void 0:t.constructor;return!!n&&("GeneratorFunction"===n.name||"GeneratorFunction"===n.displayName)}function h(t,n,i){ln(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function v(t,n,i){ln(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function l(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return c(t)&&!0===t[i]}}function d(t){return t instanceof Map}function b(t){return t instanceof Set}function y(t){var n=Object.keys(t);if(!On)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return dn.propertyIsEnumerable.call(t,n)}))):n}function p(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function m(t){return null===t?null:"object"==typeof t?""+t:t}function j(t,n){return dn.hasOwnProperty.call(t,n)}function w(t){return hn((function(n,i){void 0===i?O(t,n):A(n,i,t)}),{t:t})}function O(t,n){return hn((function(i,r){A(i,r,t,n)}),{t:t,i:n})}function A(t,n,i,r){var e,o=vn(t,Sn);o?e=o.value:h(t,Sn,e={}),e[n]={t:i,i:r}}function g(t,n,i){void 0===n&&(n=wn),void 0===i&&(i=wn);var r=new Mn(t);return n!==wn&&dt(r,n),i!==wn&&bt(r,i),r}function S(t,n,i){return St(t)?t:Array.isArray(t)?Kn.array(t,{name:i}):f(t)?Kn.object(t,void 0,{name:i}):d(t)?Kn.map(t,{name:i}):b(t)?Kn.set(t,{name:i}):t}function x(t){return t}function _(t){return t||En}function M(t){return!0===t.deep?S:!1===t.deep?x:V(t.defaultDecorator)}function V(t){var i;return t?null!=(i=Rn[t.t])?i:n(12):S}function N(t,n,i){if(!s(n))return St(t)?t:f(t)?Kn.object(t,n,i):Array.isArray(t)?Kn.array(t,n):d(t)?Kn.map(t,n):b(t)?Kn.set(t,n):"object"==typeof t&&null!==t?t:Kn.box(t);A(t,n,"observable")}function E(t,n,i,r){function e(){return R(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,Bn&&(Dn.value=t,Object.defineProperty(e,"name",Dn)),e}function R(t,n,i,r,e){var o=T(0,n);try{return i.apply(r,e)}catch(t){throw o.o=t,t}finally{k(o)}}function T(t,n){var i=Zn.trackingDerivation,r=!n||!i;rt();var e=Zn.allowStateChanges;r&&($(),e=L(!0));var o={u:r,s:i,h:e,v:Y(!0),l:!1,p:0,m:Pn++,j:In};return In=o.m,o}function k(t){In!==t.m&&n(30),In=t.j,void 0!==t.o&&(Zn.suppressReactionErrors=!0),C(t.h),Q(t.v),et(),t.u&&J(t.s),Zn.suppressReactionErrors=!1}function K(t,n){var i=L(t);try{return n()}finally{C(i)}}function L(t){var n=Zn.allowStateChanges;return Zn.allowStateChanges=t,n}function C(t){Zn.allowStateChanges=t}function I(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function P(t,n,i){return n&&I(t.prototype,n),i&&I(t,i),t}function B(){return(B=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function D(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function G(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function q(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function X(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return q(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function H(t){return t instanceof zn}function U(t){switch(t.O){case Hn.A:return!1;case Hn.g:case Hn.S:return!0;case Hn._:for(var n=Y(!0),i=$(),r=t.M,e=r.length,o=0;o<e;o++){var u=r[o];if(Fn(u)){if(Zn.disableErrorBoundaries)u.get();else try{u.get()}catch(t){return J(i),Q(n),!0}if(t.O===Hn.S)return J(i),Q(n),!0}}return Z(t),J(i),Q(n),!1}}function W(t,n,i){var r=Y(!0);Z(t),t.V=Array(t.M.length+100),t.N=0,t.R=++Zn.runId;var e,o=Zn.trackingDerivation;if(Zn.trackingDerivation=t,Zn.inBatch++,!0===Zn.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new zn(t)}return Zn.inBatch--,Zn.trackingDerivation=o,function(t){for(var n=t.M,i=t.M=t.V,r=Hn.A,e=0,o=t.N,u=0;u<o;u++){var s=i[u];0===s.T&&(s.T=1,e!==u&&(i[e]=s),e++),s.O>r&&(r=s.O)}for(i.length=e,t.V=null,o=n.length;o--;){var c=n[o];0===c.T&&nt(c,t),c.T=0}for(;e--;){var f=i[e];1===f.T&&(f.T=0,tt(f,t))}r!==Hn.A&&(t.O=r,t.k())}(t),Q(r),e}function F(t){var n=t.M;t.M=[];for(var i=n.length;i--;)nt(n[i],t);t.O=Hn.g}function z(t){var n=$();try{return t()}finally{J(n)}}function $(){var t=Zn.trackingDerivation;return Zn.trackingDerivation=null,t}function J(t){Zn.trackingDerivation=t}function Y(t){var n=Zn.allowStateReads;return Zn.allowStateReads=t,n}function Q(t){Zn.allowStateReads=t}function Z(t){if(t.O!==Hn.A){t.O=Hn.A;for(var n=t.M,i=n.length;i--;)n[i].K=Hn.A}}function tt(t,n){t.L.add(n),t.K>n.O&&(t.K=n.O)}function nt(t,n){t.L.delete(n),0===t.L.size&&it(t)}function it(t){!1===t.C&&(t.C=!0,Zn.pendingUnobservations.push(t))}function rt(){Zn.inBatch++}function et(){if(0==--Zn.inBatch){ut();for(var t=Zn.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.C=!1,0===i.L.size&&(i.I&&(i.I=!1,i.onBUO()),i instanceof Wn&&i.P())}Zn.pendingUnobservations=[]}}function ot(t){var n=Zn.trackingDerivation;return null!==n?(n.R!==t.B&&(t.B=n.R,n.V[n.N++]=t,!t.I&&Zn.trackingContext&&(t.I=!0,t.onBO())),!0):(0===t.L.size&&Zn.inBatch>0&&it(t),!1)}function ut(){Zn.inBatch>0||Zn.isRunningReactions||ni(st)}function st(){Zn.isRunningReactions=!0;for(var t=Zn.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].D()}Zn.isRunningReactions=!1}function ct(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function ft(t,n){var i=function(i,r){return u(i)?E(i.name||"<unnamed action>",i,t):u(r)?E(i,r,t):s(r)?A(i,r,n):s(i)?O(n,i):void 0};return i.t=n,i}function at(t){return R(0,!1,t,this,void 0)}function ht(t){return u(t)&&!0===t.isMobxAction}function vt(t,n){function i(){t(r)}void 0===n&&(n=yn);var r,o=n&&n.name||t.name||"Autorun@"+e();if(n.scheduler||n.delay){var u=lt(n),s=!1;r=new ti(o,(function(){s||(s=!0,u((function(){s=!1,r.G||r.track(i)})))}),n.onError,n.requiresObservable)}else r=new ti(o,(function(){this.track(i)}),n.onError,n.requiresObservable);return r.q(),r.X()}function lt(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:oi}function dt(t,n,i){return yt("onBO",t,n,i)}function bt(t,n,i){return yt("onBUO",t,n,i)}function yt(t,n,i,r){var e="function"==typeof r?rn(n,i):rn(n),o=u(r)?r:i,s=t+"L";return e[s]?e[s].add(o):e[s]=new Set([o]),function(){var t=e[s];t&&(t.delete(o),0===t.size&&delete e[s])}}function pt(t,n,i,r){var e=_(r),o=Yt(t,e.name,M(e));rt();try{var u=gn(n);y(u).forEach((function(n){Xt(o,t,n,u[n],!i||!(n in i)||i[n],!0,!!(null==r?void 0:r.autoBind))}))}finally{et()}return t}function mt(t){var n,i={name:t.H};return t.M&&t.M.length>0&&(i.dependencies=(n=t.M,Array.from(new Set(n))).map(mt)),i}function jt(t){var n={name:t.H};return function(t){return t.L&&t.L.size>0}(t)&&(n.observers=Array.from(function(t){return t.L}(t)).map(jt)),n}function wt(){this.message="FLOW_CANCELLED"}function Ot(t){u(t.cancel)&&t.cancel()}function At(t,n){if(void 0!==n){if(!1===Qt(t))return!1;if(!t[_n].U.has(n))return!1;var i=rn(t,n);return Fn(i)}return Fn(t)}function gt(t,n){return!!t&&(void 0!==n?!!Qt(t)&&t[_n].U.has(n):Qt(t)||!!t[_n]||Vn(t)||ii(t)||Fn(t))}function St(t){return gt(t)}function xt(t){return Qt(t)?t[_n].W():Ai(t)||Mi(t)?Array.from(t.keys()):Jt(t)?t.map((function(t,n){return n})):void n(5)}function _t(t,i,r){if(2!==arguments.length||Mi(t))if(Qt(t)){var e=t[_n],o=e.U.get(i);o?e.F(i,r):e.$(i,r,e.J)}else Ai(t)?t.set(i,r):Mi(t)?t.add(i):Jt(t)?("number"!=typeof i&&(i=parseInt(i,10)),i<0&&n("Invalid index: '"+i+"'"),rt(),i>=t.length&&(t.length=i+1),t[i]=r,et()):n(8);else{rt();var u=i;try{for(var s in u)_t(t,s,u[s])}finally{et()}}}function Mt(t,i){return Qt(t)?en(t).Y(i):Ai(t)||Mi(t)?t.has(i):Jt(t)?i>=0&&i<t.length:void n(10)}function Vt(t,n,i){return t.set(n,i),i}function Nt(){n("trace() is not available in production builds");for(var t=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(t=r.pop());var o=Et(r);if(!o)return n("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");o.Z===Un.NONE&&console.log("[mobx.trace] '"+o.H+"' tracing enabled"),o.Z=t?Un.BREAK:Un.LOG}function Et(t){switch(t.length){case 0:return Zn.trackingDerivation;case 1:return rn(t[0]);case 2:return rn(t[0],t[1])}}function Rt(t,n){void 0===n&&(n=void 0),rt();try{return t.apply(n)}finally{et()}}function Tt(t,n,i){var r;"number"==typeof i.timeout&&(r=setTimeout((function(){if(!u[_n].G){u();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+e();var o=E(i.name+"-effect",n),u=vt((function(n){K(!1,t)&&(n.dispose(),r&&clearTimeout(r),o())}),i);return u}function kt(t,n){var i,r=new Promise((function(r,e){var o=Tt(t,r,B({},n,{onError:e}));i=function(){o(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function Kt(t){return t[_n]}function Lt(t){return void 0!==t.tt&&t.tt.length>0}function Ct(t,n){var i=t.tt||(t.tt=[]);return i.push(n),o((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function It(t,i){var r=$();try{for(var e=[].concat(t.tt||[]),o=0,u=e.length;o<u&&((i=e[o](i))&&!i.type&&n(14),i);o++);return i}finally{J(r)}}function Pt(t){return void 0!==t.nt&&t.nt.length>0}function Bt(t,n){var i=t.nt||(t.nt=[]);return i.push(n),o((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Dt(t,n){var i=$(),r=t.nt;if(r){for(var e=0,o=(r=r.slice()).length;e<o;e++)r[e](n);J(i)}}function Gt(t,n,i,r,e){h(t,n,e?ei(i||n,r):ri(i||n,r))}function qt(t,n,i){return t.get?Ln:!t.set&&(u(t.value)?a(t.value)?si:!ht(t.value)&&(i?ei.bound:ei):null!=n?n:Kn.deep)}function Xt(t,i,r,e,o,s,c){var f=t.it,a=o;if(!0===o&&(o=qt(e,Kn,c)),!1!==o){if(!o||!0===o||!o.t)return n(2,r);var v=o.t;switch(v){case"autoAction":case"action":var l=e.value;u(l)||n(3,r),i===f||s?Gt(f,r,o.i,l,"autoAction"===v):ht(i[r])||Gt(i,r,o.i,l,"autoAction"===v);break;case"autoAction.bound":case"action.bound":var d=e.value;u(d)||n(3,r),Gt(f,r,o.i,d.bind(t.rt||f),"autoAction.bound"===v);break;case"flow":i===f||s?h(f,r,si(e.value)):function(t){return!0===(null==t?void 0:t.isMobXFlow)}(i[r])||h(i,r,si(e.value));break;case"computed":case"computed.struct":e.get||n(4,r),t.et(f,r,B({get:e.get,set:e.set,compareStructural:"computed.struct"===o.t},o.i));break;case"observable":case"observable.ref":case"observable.shallow":case"observable.struct":var b=!0===a?t.J:V(o);t.$(r,e.value,b)}}else s&&ln(f,r,e)}function Ht(t,i,r){var e=!!(null==r?void 0:r.autoBind),o=Yt(t,null==r?void 0:r.name,V(null==r?void 0:r.defaultDecorator));rt();try{if(!i)return function(t){if(t[xn])return!0;for(var n=t,i=[];n&&n!==dn;){var r=vn(n,Sn);if(r){if(!i.length)for(var e in r.value)if(!j(t,e)&&!j(n,e))return!0;i.unshift(r.value)}n=Object.getPrototypeOf(n)}i.forEach((function(n){Ht(t,n)})),h(t,xn,!0)}(t),t;An(i).forEach((function(r){var u=i[r],s=function(t,i){for(var r=t;r&&r!==dn;){var e=vn(r,i);if(e)return[e,r];r=Object.getPrototypeOf(r)}n(1,i)}(t,r);Xt(o,s[1],r,s[0],u,!1,e)}))}finally{et()}return t}function Ut(t,n,i,o){void 0===i&&(i="ObservableArray@"+e()),void 0===o&&(o=!1),r();var u=new vi(i,n,o,!1);v(u.U,_n,u);var s=new Proxy(u.U,hi);if(u.rt=s,t&&t.length){var c=L(!0);u.ot(0,0,t),C(c)}return s}function Wt(t,n){"function"==typeof Array.prototype[t]&&(li[t]=n(t))}function Ft(t){return function(){var n=this[_n];n.ut.reportObserved();var i=n.st(n.U);return i[t].apply(i,arguments)}}function zt(t){return function(n,i){var r=this,e=this[_n];return e.ut.reportObserved(),e.st(e.U)[t]((function(t,e){return n.call(i,t,e,r)}))}}function $t(t){return function(){var n=this,i=this[_n];i.ut.reportObserved();var r=i.st(i.U),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function Jt(t){return c(t)&&yi(t[_n])}function Yt(t,n,i){if(void 0===n&&(n=""),void 0===i&&(i=S),j(t,_n))return t[_n];n||(n=f(t)?"ObservableObject@"+e():(t.constructor.name||"ObservableObject")+"@"+e());var r=new Vi(t,new Map,p(n),i);return h(t,_n,r),r}function Qt(t){return!!c(t)&&Ri(t[_n])}function Zt(t){ln(Ki.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[_n].ct(t)},set:function(n){this[_n].ft(t,n)}}}(t))}function tn(t){if(t>Ti){for(var n=Ti;n<t+100;n++)Zt(n);Ti=t}}function nn(t,n,i){return new Ki(t,n,i)}function rn(t,i){if("object"==typeof t&&null!==t){if(Jt(t))return void 0!==i&&n(23),t[_n].ut;if(Mi(t))return t[_n];if(Ai(t)){if(void 0===i)return t.at;var r=t.ht.get(i)||t.vt.get(i);return r||n(25,i,on(t)),r}if(Qt(t)){if(!i)return n(26);var e=t[_n].U.get(i);return e||n(27,i,on(t)),e}if(Vn(t)||Fn(t)||ii(t))return t}else if(u(t)&&ii(t[_n]))return t[_n];n(28)}function en(t,i){return t||n(29),void 0!==i?en(rn(t,i)):Vn(t)||Fn(t)||ii(t)||Ai(t)||Mi(t)?t:t[_n]?t[_n]:void n(24,t)}function on(t,n){return(void 0!==n?rn(t,n):Qt(t)||Ai(t)||Mi(t)?en(t):rn(t)).H}function un(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,o){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!u(s)&&"object"!==s&&"object"!=typeof i)return!1;var c=Li.call(n);if(c!==Li.call(i))return!1;switch(c){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=sn(n),i=sn(i);var f="[object Array]"===c;if(!f){if("object"!=typeof n||"object"!=typeof i)return!1;var a=n.constructor,h=i.constructor;if(a!==h&&!(u(a)&&a instanceof a&&u(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),o=o||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return o[v]===i;if(e.push(n),o.push(i),f){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,o))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!j(i,l=d[v])||!t(n[l],i[l],r-1,e,o))return!1}return e.pop(),o.pop(),!0}(t,n,i)}function sn(t){return Jt(t)?t.slice():d(t)||Ai(t)||b(t)||Mi(t)?Array.from(t.entries()):t}function cn(t){return t[Symbol.iterator]=fn,t}function fn(){return this}var an={},hn=Object.assign,vn=Object.getOwnPropertyDescriptor,ln=Object.defineProperty,dn=Object.prototype,bn=[];Object.freeze(bn);var yn={};Object.freeze(yn);var pn,mn="undefined"!=typeof Proxy,jn=""+Object,wn=function(){},On=void 0!==Object.getOwnPropertySymbols,An="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:On?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,gn=Object.getOwnPropertyDescriptors||function(t){var n={};return An(t).forEach((function(i){n[i]=vn(t,i)})),n},Sn=Symbol("mobx-decorators"),xn=Symbol("mobx-applied-decorators"),_n=Symbol("mobx administration"),Mn=function(){function t(t){void 0===t&&(t="Atom@"+e()),this.H=void 0,this.C=!1,this.I=!1,this.L=new Set,this.T=0,this.B=0,this.K=Hn.g,this.onBOL=void 0,this.onBUOL=void 0,this.H=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return ot(this)},n.reportChanged=function(){rt(),function(t){t.K!==Hn.S&&(t.K=Hn.S,t.L.forEach((function(t){t.O===Hn.A&&t.k(),t.O=Hn.S})))}(this),et()},n.toString=function(){return this.H},t}(),Vn=l("Atom",Mn),Nn={identity:function(t,n){return t===n},structural:function(t,n){return un(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return un(t,n,1)}},En={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(En);var Rn=((pn={}).observable=S,pn["observable.ref"]=x,pn["observable.shallow"]=function(t,n,i){return null==t||Qt(t)||Jt(t)||Ai(t)||Mi(t)?t:Array.isArray(t)?Kn.array(t,{name:i,deep:!1}):f(t)?Kn.object(t,void 0,{name:i,deep:!1}):d(t)?Kn.map(t,{name:i,deep:!1}):b(t)?Kn.set(t,{name:i,deep:!1}):void 0},pn["observable.struct"]=function(t,n){return un(t,n)?n:t},pn);N.t="observable";var Tn,kn,Kn=hn(N,{box:function(t,n){var i=_(n);return new qn(t,M(i),i.name,!0,i.equals)},array:function(t,n){var i=_(n);return(!1===Zn.useProxies||!1===i.proxy?nn:Ut)(t,M(i),i.name)},map:function(t,n){var i=_(n);return new Oi(t,M(i),i.name)},set:function(t,n){var i=_(n);return new _i(t,M(i),i.name)},object:function(t,n,i){var e=_(i),o={};return Yt(o,null==i?void 0:i.name,M(e)),pt(!1===Zn.useProxies||!1===e.proxy?o:function(t){r();var n=new Proxy(t,ci);return t[_n].rt=n,n}(o),t,n,i)},ref:w("observable.ref"),shallow:w("observable.shallow"),deep:w("observable"),struct:w("observable.struct")}),Ln=function(t,n){if(s(n))return A(t,n,"computed");if(f(t))return O("computed",t);var i=f(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new Wn(i)};Ln.t="computed",Ln.struct=hn((function(t,n){A(t,n,"computed.struct")}),{t:"computed.struct"});var Cn,In=0,Pn=1,Bn=null!=(Tn=null==(kn=vn((function(){}),"name"))?void 0:kn.configurable)&&Tn,Dn={value:"action",configurable:!0,writable:!1,enumerable:!1};Cn=Symbol.toPrimitive;var Gn,qn=function(t){function n(n,i,r,o,u){var s;return void 0===r&&(r="ObservableValue@"+e()),void 0===u&&(u=Nn.default),(s=t.call(this,r)||this).enhancer=void 0,s.H=void 0,s.equals=void 0,s.lt=!1,s.tt=void 0,s.nt=void 0,s.dt=void 0,s.dehancer=void 0,s.enhancer=i,s.H=r,s.equals=u,s.dt=i(n,void 0,r),s}D(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this.bt(t))!==Zn.UNCHANGED&&this.yt(t)},i.bt=function(t){if(Lt(this)){var n=It(this,{object:this,type:ai,newValue:t});if(!n)return Zn.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.dt,this.H),this.equals(this.dt,t)?Zn.UNCHANGED:t},i.yt=function(t){var n=this.dt;this.dt=t,this.reportChanged(),Pt(this)&&Dt(this,{type:ai,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.dt)},i.pt=function(t){return Ct(this,t)},i.jt=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.H,object:this,type:ai,newValue:this.dt,oldValue:void 0}),Bt(this,t)},i.raw=function(){return this.dt},i.toJSON=function(){return this.get()},i.toString=function(){return this.H+"["+this.dt+"]"},i.valueOf=function(){return m(this.get())},i[Cn]=function(){return this.valueOf()},n}(Mn),Xn=l("ObservableValue",qn);Gn=Symbol.toPrimitive;var Hn,Un,Wn=function(){function t(t){this.O=Hn.g,this.M=[],this.V=null,this.I=!1,this.C=!1,this.L=new Set,this.T=0,this.R=0,this.B=0,this.K=Hn.A,this.N=0,this.wt="#"+e(),this.dt=new zn(null),this.H=void 0,this.Ot=void 0,this.At=!1,this.gt=!1,this.derivation=void 0,this.St=void 0,this.Z=Un.NONE,this.xt=void 0,this._t=void 0,this.Mt=void 0,this.Vt=void 0,this.onBOL=void 0,this.onBUOL=void 0,t.get||n(31),this.derivation=t.get,this.H=t.name||"ComputedValue@"+e(),t.set&&(this.St=E(this.H+"-setter",t.set)),this._t=t.equals||(t.compareStructural||t.struct?Nn.structural:Nn.default),this.xt=t.context,this.Mt=!!t.requiresReaction,this.Vt=!!t.keepAlive}var i=t.prototype;return i.k=function(){!function(t){t.K===Hn.A&&(t.K=Hn._,t.L.forEach((function(t){t.O===Hn.A&&(t.O=Hn._,t.k())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.At&&n(32,this.H,this.derivation),0!==Zn.inBatch||0!==this.L.size||this.Vt){if(ot(this),U(this)){var t=Zn.trackingContext;this.Vt&&!t&&(Zn.trackingContext=this),this.trackAndCompute()&&function(t){t.K!==Hn.S&&(t.K=Hn.S,t.L.forEach((function(n){n.O===Hn._?n.O=Hn.S:n.O===Hn.A&&(t.K=Hn.A)})))}(this),Zn.trackingContext=t}}else U(this)&&(this.Nt(),rt(),this.dt=this.Et(!1),et());var i=this.dt;if(H(i))throw i.cause;return i},i.set=function(t){if(this.St){this.gt&&n(33,this.H),this.gt=!0;try{this.St.call(this.xt,t)}finally{this.gt=!1}}else n(34,this.H)},i.trackAndCompute=function(){var t=this.dt,n=this.O===Hn.g,i=this.Et(!0),r=n||H(t)||H(i)||!this._t(t,i);return r&&(this.dt=i),r},i.Et=function(t){this.At=!0;var n,i=L(!1);if(t)n=W(this,this.derivation,this.xt);else if(!0===Zn.disableErrorBoundaries)n=this.derivation.call(this.xt);else try{n=this.derivation.call(this.xt)}catch(t){n=new zn(t)}return C(i),this.At=!1,n},i.P=function(){this.Vt||(F(this),this.dt=void 0)},i.jt=function(t,n){var i=this,r=!0,e=void 0;return vt((function(){var o=i.get();if(!r||n){var u=$();t({observableKind:"computed",debugObjectName:i.H,type:ai,object:i,newValue:o,oldValue:e}),J(u)}r=!1,e=o}))},i.Nt=function(){},i.toString=function(){return this.H+"["+this.derivation+"]"},i.valueOf=function(){return m(this.get())},i[Gn]=function(){return this.valueOf()},t}(),Fn=l("ComputedValue",Wn);!function(t){t[t.g=-1]="NOT_TRACKING_",t[t.A=0]="UP_TO_DATE_",t[t._=1]="POSSIBLY_STALE_",t[t.S=2]="STALE_"}(Hn||(Hn={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(Un||(Un={}));var zn=function(t){this.cause=void 0,this.cause=t},$n=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],Jn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},Yn=!0,Qn=!1,Zn=function(){var t=i();return t.__mobxInstanceCount>0&&!t.__mobxGlobals&&(Yn=!1),t.__mobxGlobals&&t.__mobxGlobals.version!==(new Jn).version&&(Yn=!1),Yn?t.__mobxGlobals?(t.__mobxInstanceCount+=1,t.__mobxGlobals.UNCHANGED||(t.__mobxGlobals.UNCHANGED={}),t.__mobxGlobals):(t.__mobxInstanceCount=1,t.__mobxGlobals=new Jn):(setTimeout((function(){Qn||n(35)}),1),new Jn)}(),ti=function(){function t(t,n,i,r){void 0===t&&(t="Reaction@"+e()),void 0===r&&(r=!1),this.H=void 0,this.Rt=void 0,this.Tt=void 0,this.kt=void 0,this.M=[],this.V=[],this.O=Hn.g,this.T=0,this.R=0,this.N=0,this.wt="#"+e(),this.G=!1,this.Kt=!1,this.Lt=!1,this.Ct=!1,this.Z=Un.NONE,this.H=t,this.Rt=n,this.Tt=i,this.kt=r}var n=t.prototype;return n.k=function(){this.q()},n.q=function(){this.Kt||(this.Kt=!0,Zn.pendingReactions.push(this),ut())},n.isScheduled=function(){return this.Kt},n.D=function(){if(!this.G){rt(),this.Kt=!1;var t=Zn.trackingContext;if(Zn.trackingContext=this,U(this)){this.Lt=!0;try{this.Rt()}catch(t){this.It(t)}}Zn.trackingContext=t,et()}},n.track=function(t){if(!this.G){rt(),this.Ct=!0;var n=Zn.trackingContext;Zn.trackingContext=this;var i=W(this,t,void 0);Zn.trackingContext=n,this.Ct=!1,this.Lt=!1,this.G&&F(this),H(i)&&this.It(i.cause),et()}},n.It=function(t){var n=this;if(this.Tt)this.Tt(t,this);else{if(Zn.disableErrorBoundaries)throw t;Zn.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),Zn.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.G||(this.G=!0,this.Ct||(rt(),F(this),et()))},n.X=function(){var t=this.dispose.bind(this);return t[_n]=this,t},n.toString=function(){return"Reaction["+this.H+"]"},n.trace=function(t){void 0===t&&(t=!1),Nt(this,t)},t}(),ni=function(t){return t()},ii=l("Reaction",ti),ri=ft(!1,"action"),ei=ft(!0,"autoAction");ri.bound=w("action.bound"),ei.bound=w("autoAction.bound");var oi=function(t){return t()},ui=0;wt.prototype=Object.create(Error.prototype);var si=Object.assign((function(t,n){if(s(n))return A(t,n,"flow");var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,o=++ui,s=ri(r+" - runid: "+o+" - init",i).apply(n,e),c=void 0,f=new Promise((function(n,i){function e(t){var n;c=void 0;try{n=ri(r+" - runid: "+o+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}a(n)}function f(t){var n;c=void 0;try{n=ri(r+" - runid: "+o+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}a(n)}function a(t){if(!u(null==t?void 0:t.then))return t.done?n(t.value):(c=Promise.resolve(t.value)).then(e,f);t.then(a,i)}var h=0;t=i,e(void 0)}));return f.cancel=ri(r+" - runid: "+o+" - cancel",(function(){try{c&&Ot(c);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(wn,wn),Ot(i),t(new wt)}catch(n){t(n)}})),f};return e.isMobXFlow=!0,e}),{t:"flow"}),ci={has:function(t,n){if(n===_n||"constructor"===n)return!0;var i=Kt(t);return s(n)?i.Y(n):n in t},get:function(t,n){if(n===_n||"constructor"===n)return t[n];var i=Kt(t),r=i.U.get(n);if(r instanceof Mn){var e=r.get();return void 0===e&&i.Y(n),e}return s(n)&&i.Y(n),t[n]},set:function(t,n,i){return!!s(n)&&(_t(t,n,i),!0)},deleteProperty:function(t,n){return!!s(n)&&(Kt(t).Pt(n),!0)},ownKeys:function(t){return Kt(t).at.reportObserved(),Reflect.ownKeys(t)},preventExtensions:function(){n(13)}},fi=Symbol("mobx-cached-annotations"),ai="update",hi={get:function(t,n){var i=t[_n];return n===_n?i:"length"===n?i.Bt():"string"!=typeof n||isNaN(n)?j(li,n)?li[n]:t[n]:i.ct(parseInt(n))},set:function(t,n,i){var r=t[_n];return"length"===n&&r.Dt(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.ft(parseInt(n),i),!0},preventExtensions:function(){n(15)}},vi=function(){function t(t,n,i,r){this.Gt=void 0,this.qt=void 0,this.ut=void 0,this.U=[],this.tt=void 0,this.nt=void 0,this.Xt=void 0,this.dehancer=void 0,this.rt=void 0,this.Ht=0,this.Gt=i,this.qt=r,this.ut=new Mn(t||"ObservableArray@"+e()),this.Xt=function(i,r){return n(i,r,t+"[..]")}}var i=t.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.st=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.pt=function(t){return Ct(this,t)},i.jt=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.rt,debugObjectName:this.ut.H,type:"splice",index:0,added:this.U.slice(),addedCount:this.U.length,removed:[],removedCount:0}),Bt(this,t)},i.Bt=function(){return this.ut.reportObserved(),this.U.length},i.Dt=function(t){("number"!=typeof t||t<0)&&n("Out of range: "+t);var i=this.U.length;if(t!==i)if(t>i){for(var r=Array(t-i),e=0;e<t-i;e++)r[e]=void 0;this.ot(i,0,r)}else this.ot(t,i-t)},i.Wt=function(t,i){t!==this.Ht&&n(16),this.Ht+=i,this.qt&&i>0&&tn(t+i+1)},i.ot=function(t,n,i){var r=this,e=this.U.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=bn),Lt(this)){var o=It(this,{object:this.rt,type:"splice",index:t,removedCount:n,added:i});if(!o)return bn;n=o.removedCount,i=o.added}if(i=0===i.length?i:i.map((function(t){return r.Xt(t,void 0)})),this.qt){var u=i.length-n;this.Wt(e,u)}var s=this.Ft(t,n,i);return 0===n&&0===i.length||this.zt(t,i,s),this.st(s)},i.Ft=function(t,n,i){var r;if(i.length<1e4)return(r=this.U).splice.apply(r,[t,n].concat(i));var e=this.U.slice(t,t+n),o=this.U.slice(t+n);this.U.length=t+i.length-n;for(var u=0;u<i.length;u++)this.U[t+u]=i[u];for(var s=0;s<o.length;s++)this.U[t+i.length+s]=o[s];return e},i.$t=function(t,n,i){var r=!this.Gt&&!1,e=Pt(this),o=e||r?{observableKind:"array",object:this.rt,type:ai,debugObjectName:this.ut.H,index:t,newValue:n,oldValue:i}:null;this.ut.reportChanged(),e&&Dt(this,o)},i.zt=function(t,n,i){var r=!this.Gt&&!1,e=Pt(this),o=e||r?{observableKind:"array",object:this.rt,debugObjectName:this.ut.H,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.ut.reportChanged(),e&&Dt(this,o)},i.ct=function(t){if(t<this.U.length)return this.ut.reportObserved(),this.Ut(this.U[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.U.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.ft=function(t,i){var r=this.U;if(t<r.length){var e=r[t];if(Lt(this)){var o=It(this,{type:ai,object:this.rt,index:t,newValue:i});if(!o)return;i=o.newValue}(i=this.Xt(i,e))!==e&&(r[t]=i,this.$t(t,i,e))}else t===r.length?this.ot(t,0,[i]):n(17,t,r.length)},t}(),li={clear:function(){return this.splice(0)},replace:function(t){var n=this[_n];return n.ot(0,n.U.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var o=this[_n];switch(arguments.length){case 0:return[];case 1:return o.ot(t);case 2:return o.ot(t,n)}return o.ot(t,n,r)},spliceWithArray:function(t,n,i){return this[_n].ot(t,n,i)},push:function(){for(var t=this[_n],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ot(t.U.length,0,i),t.U.length},pop:function(){return this.splice(Math.max(this[_n].U.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[_n],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ot(0,0,i),t.U.length},reverse:function(){return Zn.trackingDerivation&&n(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){Zn.trackingDerivation&&n(37,"sort");var t=this.slice();return t.sort.apply(t,arguments),this.replace(t),this},remove:function(t){var n=this[_n],i=n.st(n.U).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};Wt("concat",Ft),Wt("flat",Ft),Wt("includes",Ft),Wt("indexOf",Ft),Wt("join",Ft),Wt("lastIndexOf",Ft),Wt("slice",Ft),Wt("toString",Ft),Wt("toLocaleString",Ft),Wt("every",zt),Wt("filter",zt),Wt("find",zt),Wt("findIndex",zt),Wt("flatMap",zt),Wt("forEach",zt),Wt("map",zt),Wt("some",zt),Wt("reduce",$t),Wt("reduceRight",$t);var di,bi,yi=l("ObservableArrayAdministration",vi),pi={},mi="add";di=Symbol.iterator,bi=Symbol.toStringTag;var ji,wi,Oi=function(){function t(t,i,r){void 0===i&&(i=S),void 0===r&&(r="ObservableMap@"+e()),this.Xt=void 0,this.H=void 0,this[_n]=pi,this.ht=void 0,this.vt=void 0,this.at=void 0,this.tt=void 0,this.nt=void 0,this.dehancer=void 0,this.Xt=i,this.H=r,u(Map)||n(18),this.at=g(this.H+".keys()"),this.ht=new Map,this.vt=new Map,this.merge(t)}var i=t.prototype;return i.Y=function(t){return this.ht.has(t)},i.has=function(t){var n=this;if(!Zn.trackingDerivation)return this.Y(t);var i=this.vt.get(t);if(!i){var r=i=new qn(this.Y(t),x,this.H+"."+p(t)+"?",!1);this.vt.set(t,r),bt(r,(function(){return n.vt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.Y(t);if(Lt(this)){var r=It(this,{type:i?ai:mi,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.Jt(t,n):this.Yt(t,n),this},i.delete=function(t){var n=this;if(Lt(this)&&!It(this,{type:"delete",object:this,name:t}))return!1;if(this.Y(t)){var i=Pt(this),r=i?{observableKind:"map",debugObjectName:this.H,type:"delete",object:this,oldValue:this.ht.get(t).dt,name:t}:null;return Rt((function(){n.at.reportChanged(),n.Qt(t,!1),n.ht.get(t).yt(void 0),n.ht.delete(t)})),i&&Dt(this,r),!0}return!1},i.Qt=function(t,n){var i=this.vt.get(t);i&&i.yt(n)},i.Jt=function(t,n){var i=this.ht.get(t);if((n=i.bt(n))!==Zn.UNCHANGED){var r=Pt(this),e=r?{observableKind:"map",debugObjectName:this.H,type:ai,object:this,oldValue:i.dt,name:t,newValue:n}:null;i.yt(n),r&&Dt(this,e)}},i.Yt=function(t,n){var i=this;Rt((function(){var r=new qn(n,i.Xt,i.H+"."+p(t),!1);i.ht.set(t,r),n=r.dt,i.Qt(t,!0),i.at.reportChanged()}));var r=Pt(this);r&&Dt(this,r?{observableKind:"map",debugObjectName:this.H,type:mi,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Ut(this.ht.get(t).get()):this.Ut(void 0)},i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.at.reportObserved(),this.ht.keys()},i.values=function(){var t=this,n=this.keys();return cn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return cn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[di]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=X(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(t){var i=this;return Ai(t)&&(t=new Map(t)),Rt((function(){f(t)?y(t).forEach((function(n){return i.set(n,t[n])})):Array.isArray(t)?t.forEach((function(t){return i.set(t[0],t[1])})):d(t)?(t.constructor!==Map&&n(19,t),t.forEach((function(t,n){return i.set(n,t)}))):null!=t&&n(20,t)})),this},i.clear=function(){var t=this;Rt((function(){z((function(){for(var n,i=X(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(t){var i=this;return Rt((function(){for(var r,e=function(t){if(d(t)||Ai(t))return t;if(Array.isArray(t))return new Map(t);if(f(t)){var i=new Map;for(var r in t)i.set(r,t[r]);return i}return n(21,t)}(t),o=new Map,u=!1,s=X(i.ht.keys());!(r=s()).done;){var c=r.value;if(!e.has(c))if(i.delete(c))u=!0;else{var a=i.ht.get(c);o.set(c,a)}}for(var h,v=X(e.entries());!(h=v()).done;){var l=h.value,b=l[0],y=l[1],p=i.ht.has(b);if(i.set(b,y),i.ht.has(b)){var m=i.ht.get(b);o.set(b,m),p||(u=!0)}}if(!u)if(i.ht.size!==o.size)i.at.reportChanged();else for(var j=i.ht.keys(),w=o.keys(),O=j.next(),A=w.next();!O.done;){if(O.value!==A.value){i.at.reportChanged();break}O=j.next(),A=w.next()}i.ht=o})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i.jt=function(t){return Bt(this,t)},i.pt=function(t){return Ct(this,t)},P(t,[{key:"size",get:function(){return this.at.reportObserved(),this.ht.size}},{key:bi,get:function(){return"Map"}}]),t}(),Ai=l("ObservableMap",Oi),gi={};ji=Symbol.iterator,wi=Symbol.toStringTag;var Si,xi,_i=function(){function t(t,i,r){void 0===i&&(i=S),void 0===r&&(r="ObservableSet@"+e()),this.H=void 0,this[_n]=gi,this.ht=new Set,this.ut=void 0,this.nt=void 0,this.tt=void 0,this.dehancer=void 0,this.Xt=void 0,this.H=r,u(Set)||n(22),this.ut=g(this.H),this.Xt=function(t,n){return i(t,n,r)},t&&this.replace(t)}var i=t.prototype;return i.Ut=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;Rt((function(){z((function(){for(var n,i=X(t.ht.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=X(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(Lt(this)&&!It(this,{type:mi,object:this,newValue:t}))return this;if(!this.has(t)){Rt((function(){n.ht.add(n.Xt(t,void 0)),n.ut.reportChanged()}));var i=Pt(this);i&&Dt(this,i?{observableKind:"set",debugObjectName:this.H,type:mi,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(Lt(this)&&!It(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=Pt(this),r=i?{observableKind:"set",debugObjectName:this.H,type:"delete",object:this,oldValue:t}:null;return Rt((function(){n.ut.reportChanged(),n.ht.delete(t)})),i&&Dt(this,r),!0}return!1},i.has=function(t){return this.ut.reportObserved(),this.ht.has(this.Ut(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return cn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.ut.reportObserved();var t=this,n=0,i=Array.from(this.ht.values());return cn({next:function(){return n<i.length?{value:t.Ut(i[n++]),done:!1}:{done:!0}}})},i.replace=function(t){var i=this;return Mi(t)&&(t=new Set(t)),Rt((function(){Array.isArray(t)||b(t)?(i.clear(),t.forEach((function(t){return i.add(t)}))):null!=t&&n("Cannot initialize set from "+t)})),this},i.jt=function(t){return Bt(this,t)},i.pt=function(t){return Ct(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[ji]=function(){return this.values()},P(t,[{key:"size",get:function(){return this.ut.reportObserved(),this.ht.size}},{key:wi,get:function(){return"Set"}}]),t}(),Mi=l("ObservableSet",_i),Vi=function(){function t(t,n,i,r){void 0===n&&(n=new Map),this.it=void 0,this.U=void 0,this.H=void 0,this.J=void 0,this.at=void 0,this.nt=void 0,this.tt=void 0,this.rt=void 0,this.Zt=void 0,this.tn=[],this.nn=!0,this.it=t,this.U=n,this.H=i,this.J=r,this.at=new Mn(i+".keys")}var n=t.prototype;return n.in=function(t){return this.U.get(t).get()},n.F=function(t,n){var i=this.it,r=this.U.get(t);if(r instanceof Wn)r.set(n);else{if(Lt(this)){var e=It(this,{type:ai,object:this.rt||i,name:t,newValue:n});if(!e)return;n=e.newValue}if((n=r.bt(n))!==Zn.UNCHANGED){var o=Pt(this),u=o?{type:ai,observableKind:"object",debugObjectName:this.H,object:this.rt||i,oldValue:r.dt,name:t,newValue:n}:null;r.yt(n),o&&Dt(this,u)}}},n.Y=function(t){var n=this.Zt||(this.Zt=new Map),i=n.get(t);if(i)return i.get();var r=!!this.U.get(t);return i=new qn(r,x,this.H+"."+p(t)+"?",!1),n.set(t,i),i.get()},n.$=function(t,n,i){void 0===i&&(i=this.J);var r=this.it;if(Lt(this)){var e=It(this,{object:this.rt||r,name:t,type:mi,newValue:n});if(!e)return;n=e.newValue}var o=new qn(n,i,this.H+"."+p(t),!1);this.U.set(t,o),n=o.dt,ln(r,t,function(t){return Ni[t]||(Ni[t]={configurable:!0,enumerable:!0,get:function(){return this[_n].in(t)},set:function(n){this[_n].F(t,n)}})}(t)),this.rn(t,n)},n.et=function(t,n,i){var r=this.it;i.name=i.name||this.H+"."+p(n),i.context=this.rt||r,this.U.set(n,new Wn(i)),ln(t,n,function(t){return Ei[t]||(Ei[t]={configurable:!0,enumerable:!1,get:function(){return this[_n].in(t)},set:function(n){this[_n].F(t,n)}})}(n))},n.Pt=function(t){if(this.U.has(t)){var n=this.it;if(Lt(this)&&!It(this,{object:this.rt||n,name:t,type:"remove"}))return;try{rt();var i=Pt(this),r=this.U.get(t),e=r&&r.get();if(r&&r.set(void 0),this.reportKeysChanged(),this.U.delete(t),this.Zt){var o=this.Zt.get(t);o&&o.set(!1)}delete this.it[t],i&&Dt(this,i?{type:"remove",observableKind:"object",object:this.rt||n,debugObjectName:this.H,oldValue:e,name:t}:null)}finally{et()}}},n.jt=function(t){return Bt(this,t)},n.pt=function(t){return Ct(this,t)},n.rn=function(t,n){var i=Pt(this);if(i&&Dt(this,i?{type:mi,observableKind:"object",debugObjectName:this.H,object:this.rt||this.it,name:t,newValue:n}:null),this.Zt){var r=this.Zt.get(t);r&&r.set(!0)}this.reportKeysChanged()},n.W=function(){if(this.at.reportObserved(),!this.nn)return this.tn;this.tn=[];for(var t,n=X(this.U);!(t=n()).done;){var i=t.value;i[1]instanceof qn&&this.tn.push(i[0])}return this.nn=!1,this.tn},n.reportKeysChanged=function(){this.nn=!0,this.at.reportChanged()},t}(),Ni=Object.create(null),Ei=Object.create(null),Ri=l("ObservableObjectAdministration",Vi),Ti=0,ki=function(){};Si=ki,xi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Si.prototype,xi):void 0!==Si.prototype.__proto__?Si.prototype.__proto__=xi:Si.prototype=xi;var Ki=function(t){function n(n,i,r,o){var u;void 0===r&&(r="ObservableArray@"+e()),void 0===o&&(o=!1),u=t.call(this)||this;var s=new vi(r,i,o,!0);if(s.rt=G(u),v(G(u),_n,s),n&&n.length){var c=L(!0);u.spliceWithArray(0,0,n),C(c)}return u}D(n,t);var i=n.prototype;return i.concat=function(){this[_n].ut.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return Jt(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return cn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},P(n,[{key:"length",get:function(){return this[_n].Bt()},set:function(t){this[_n].Dt(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(ki);Object.entries(li).forEach((function(t){var n=t[0];"concat"!==n&&h(Ki.prototype,n,t[1])})),tn(1e3);var Li=dn.toString;["Symbol","Map","Set","Symbol"].forEach((function(t){void 0===i()[t]&&n("MobX requires global '"+t+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:ct,extras:{getDebugName:on},$mobx:_n}),t.$mobx=_n,t.FlowCancellationError=wt,t.ObservableMap=Oi,t.ObservableSet=_i,t.Reaction=ti,t._allowStateChanges=K,t._allowStateChangesInsideComputed=at,t._allowStateReadsEnd=Q,t._allowStateReadsStart=Y,t._autoAction=ei,t._endAction=k,t._getAdministration=en,t._getGlobalState=function(){return Zn},t._interceptReads=function(t,n,i){var r;return Ai(t)||Jt(t)||Xn(t)?r=en(t):Qt(t)&&(r=en(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}},t._isComputingDerivation=function(){return null!==Zn.trackingDerivation},t._resetGlobalState=function(){var t=new Jn;for(var n in t)-1===$n.indexOf(n)&&(Zn[n]=t[n]);Zn.allowStateChanges=!Zn.enforceActions},t._startAction=T,t.action=ri,t.autorun=vt,t.comparer=Nn,t.computed=Ln,t.configure=function(t){!0===t.isolateGlobalState&&function(){if((Zn.pendingReactions.length||Zn.inBatch||Zn.isRunningReactions)&&n(36),Qn=!0,Yn){var t=i();0==--t.__mobxInstanceCount&&(t.__mobxGlobals=void 0),Zn=new Jn}}();var r,e,o=t.useProxies,u=t.enforceActions;if(void 0!==o&&(Zn.useProxies="always"===o||"never"!==o&&"undefined"!=typeof Proxy),"ifavailable"===o&&(Zn.verifyProxies=!0),void 0!==u){var s="always"===u?"always":"observed"===u;Zn.enforceActions=s,Zn.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(n){n in t&&(Zn[n]=!!t[n])})),Zn.allowStateReads=!Zn.observableRequiresReaction,t.reactionScheduler&&(r=t.reactionScheduler,e=ni,ni=function(t){return r((function(){return e(t)}))})},t.createAtom=g,t.entries=function(t){return Qt(t)?xt(t).map((function(n){return[n,t[n]]})):Ai(t)?xt(t).map((function(n){return[n,t.get(n)]})):Mi(t)?Array.from(t.entries()):Jt(t)?t.map((function(t,n){return[n,t]})):void n(7)},t.extendObservable=pt,t.flow=si,t.flowResult=function(t){return t},t.get=function(t,i){if(Mt(t,i))return Qt(t)?t[i]:Ai(t)?t.get(i):Jt(t)?t[i]:void n(11)},t.getAtom=rn,t.getDebugName=on,t.getDependencyTree=function(t,n){return mt(rn(t,n))},t.getObserverTree=function(t,n){return jt(rn(t,n))},t.has=Mt,t.intercept=function(t,n,i){return u(i)?function(t,n,i){return en(t,n).pt(i)}(t,n,i):function(t,n){return en(t).pt(n)}(t,n)},t.isAction=ht,t.isBoxedObservable=Xn,t.isComputed=function(t){return At(t)},t.isComputedProp=function(t,n){return At(t,n)},t.isFlowCancellationError=function(t){return t instanceof wt},t.isObservable=St,t.isObservableArray=Jt,t.isObservableMap=Ai,t.isObservableObject=Qt,t.isObservableProp=function(t,n){return gt(t,n)},t.isObservableSet=Mi,t.keys=xt,t.makeAutoObservable=function(t,n,i){var r,e=Object.getPrototypeOf(t),o=null==e||e===dn;return!o&&j(e,fi)?r=e[fi]:(function(t,n,i){var r,e=!!(null==i?void 0:i.autoBind),o=void 0===(null==i?void 0:i.deep)?null!=(r=null==i?void 0:i.defaultDecorator)?r:Kn.deep:(null==i?void 0:i.deep)?Kn.deep:Kn.ref;Object.entries(gn(t)).forEach((function(t){var i=t[0];i in n||"constructor"===i||(n[i]=qt(t[1],o,e))}))}(t,r=B({},n),i),o||(function(t,n,i){Object.entries(gn(t)).forEach((function(t){var r=t[0],e=t[1];r in n||"constructor"===r||(e.get?n[r]=Ln:u(e.value)&&(n[r]=a(e.value)?si:(null==i?void 0:i.autoBind)?ei.bound:ei))}))}(e,r,i),h(e,fi,r))),Ht(t,r,i),t},t.makeObservable=Ht,t.observable=Kn,t.observe=function(t,n,i,r){return u(i)?function(t,n,i,r){return en(t,n).jt(i,r)}(t,n,i,r):function(t,n,i){return en(t).jt(n,i)}(t,n,i)},t.onBecomeObserved=dt,t.onBecomeUnobserved=bt,t.onReactionError=function(t){return Zn.globalReactionErrorHandlers.push(t),function(){var n=Zn.globalReactionErrorHandlers.indexOf(t);n>=0&&Zn.globalReactionErrorHandlers.splice(n,1)}},t.reaction=function(t,n,i){function r(){if(l=!1,!y.G){var n=!1;y.track((function(){var i=K(!1,(function(){return t(y)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&f(s,d,y),v=!1}}void 0===i&&(i=yn);var o,u,s,c=i.name||"Reaction@"+e(),f=ri(c,i.onError?(o=i.onError,u=n,function(){try{return u.apply(this,arguments)}catch(t){o.call(this,t)}}):n),a=!i.scheduler&&!i.delay,h=lt(i),v=!0,l=!1,d=void 0,b=i.compareStructural?Nn.structural:i.equals||Nn.default,y=new ti(c,(function(){v||a?r():l||(l=!0,h(r))}),i.onError,i.requiresObservable);return y.q(),y.X()},t.remove=function(t,i){Qt(t)?t[_n].Pt(i):Ai(t)||Mi(t)?t.delete(i):Jt(t)?("number"!=typeof i&&(i=parseInt(i,10)),t.splice(i,1)):n(9)},t.runInAction=at,t.set=_t,t.spy=ct,t.toJS=function(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!St(n))return n;if(Xn(n))return t(n.get(),i);if(i.has(n))return i.get(n);if(Jt(n)){var r=Vt(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if(Mi(n)){var e=Vt(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(Ai(n)){var o=Vt(i,n,new Map);return n.forEach((function(n,r){o.set(r,t(n,i))})),o}xt(n);var u=Vt(i,n,{});return y(n).forEach((function(r){u[r]=t(n[r],i)})),u}(t,new Map)},t.trace=Nt,t.transaction=Rt,t.untracked=z,t.values=function(t){return Qt(t)?xt(t).map((function(n){return t[n]})):Ai(t)?xt(t).map((function(n){return t.get(n)})):Mi(t)?Array.from(t.values()):Jt(t)?t.slice():void n(6)},t.when=function(t,n,i){return 1===arguments.length||n&&"object"==typeof n?kt(t,n):Tt(t,n,i||{})},Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).mobx={})}(this,(function(t){function n(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];throw Error("number"==typeof t?"[MobX] minified error nr: "+t+(i.length?" "+i.join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+t)}function i(){return"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:wn}function r(){Mn||n("Proxy not available")}function e(){return++di.mobxGuid}function u(t){var n=!1;return function(){if(!n)return n=!0,t.apply(this,arguments)}}function o(t){return"function"==typeof t}function s(t){switch(typeof t){case"string":case"symbol":case"number":return!0}return!1}function f(t){return null!==t&&"object"==typeof t}function a(t){var n;if(!f(t))return!1;var i=Object.getPrototypeOf(t);return null==i||(null==(n=i.constructor)?void 0:""+n)===Vn}function c(t,n,i){gn(t,n,{enumerable:!1,writable:!0,configurable:!0,value:i})}function h(t,n,i){gn(t,n,{enumerable:!1,writable:!1,configurable:!0,value:i})}function v(t,n){var i="isMobX"+t;return n.prototype[i]=!0,function(t){return f(t)&&!0===t[i]}}function l(t){return t instanceof Map}function d(t){return t instanceof Set}function b(t){var n=Object.keys(t);if(!Rn)return n;var i=Object.getOwnPropertySymbols(t);return i.length?[].concat(n,i.filter((function(n){return _n.propertyIsEnumerable.call(t,n)}))):n}function y(t){return"string"==typeof t?t:"symbol"==typeof t?""+t:""+new String(t)}function p(t){return null===t?null:"object"==typeof t?""+t:t}function m(t,n){return _n.hasOwnProperty.call(t,n)}function j(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function w(t,n,i){return n&&j(t.prototype,n),i&&j(t,i),t}function O(){return(O=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t}).apply(this,arguments)}function A(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}function g(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _(t,n){(null==n||n>t.length)&&(n=t.length);for(var i=0,r=Array(n);i<n;i++)r[i]=t[i];return r}function S(t,n){var i;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(i=function(t){if(t){if("string"==typeof t)return _(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_(t,void 0):void 0}}(t))||n&&t&&"number"==typeof t.length){i&&(t=i);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(i=t[Symbol.iterator]()).next.bind(i)}function x(t){return Object.assign((function(n,i){M(n,i,t)}),t)}function M(t,n,i){m(t,Tn)||c(t,Tn,O({},t[Tn])),function(t){return"override"===t.t}(i)||(t[Tn][n]=O({},i,{i:!0}))}function V(t,n,i){void 0===n&&(n=Nn),void 0===i&&(i=Nn);var r=new Ln(t);return n!==Nn&&St(r,n),i!==Nn&&xt(r,i),r}function N(t,n,i){return Ct(t)?t:Array.isArray(t)?Fn.array(t,{name:i}):a(t)?Fn.object(t,void 0,{name:i}):l(t)?Fn.map(t,{name:i}):d(t)?Fn.set(t,{name:i}):t}function R(t){return t}function E(t,n){return{t:t,u:n,o:k,s:T}}function k(t,i){for(var r,e,u=!1,o=t.h,s=null!=(r=null==(e=this.u)?void 0:e.bound)&&r;o&&o!==_n;){var f=An(o,i);if(f){if(o===t.h||s){var a=K(t,this,i,f);if(!t.v(i,a))return;if(u=!0,s)break}if(o!==t.h){if(At(f.value)){u=!0;break}var c=K(t,this,i,f);gn(o,i,c),u=!0}}o=Object.getPrototypeOf(o)}u?fn(t,this,i):this.i||n(1,this.t,t.l+"."+i)}function T(t,n,i,r){var e=K(t,this,n,i);return t.v(n,e,r)}function K(t,n,i,r){var e,u,o,s,f,a,c=r.value;return(null==(e=n.u)?void 0:e.bound)&&(c=c.bind(null!=(a=t.p)?a:t.h)),{value:F(null!=(u=null==(o=n.u)?void 0:o.name)?u:""+i,c,null!=(s=null==(f=n.u)?void 0:f.autoAction)&&s),configurable:t.m,enumerable:!1,writable:!1}}function L(t,i){for(var r=!1,e=t.h;e&&e!==_n;){var u=An(e,i);if(u){if(e!==t.h){if(Tt(u.value)){r=!0;break}var o=I(t,0,0,u);gn(e,i,o)}else{var s=I(t,0,0,u);if(!t.v(i,s))return}r=!0}e=Object.getPrototypeOf(e)}r?fn(t,this,i):this.i||n(1,this.t,t.l+"."+i)}function C(t,n,i,r){var e=I(t,0,0,i);return t.v(n,e,r)}function I(t,n,i,r){return{value:Mi(r.value),configurable:t.m,enumerable:!1,writable:!1}}function P(t,n){return{t:t,u:n,o:D,s:B}}function D(t,i){for(var r=t.h;r&&r!==_n;){var e=An(r,i);if(e){if(!t.j(i,O({},this.u,{get:e.get,set:e.set})))return;return void fn(t,this,i)}r=Object.getPrototypeOf(r)}this.i||n(1,this.t,t.l+"."+i)}function B(t,n,i,r){return t.j(n,O({},this.u,{get:i.get,set:i.set}),r)}function q(t,n){return{t:t,u:n,o:G,s:X}}function G(t,i){for(var r=t.h;r&&r!==_n;){var e=An(r,i);if(e){var u,o;if(!t.O(i,e.value,null!=(u=null==(o=this.u)?void 0:o.enhancer)?u:N))return;return void fn(t,this,i)}r=Object.getPrototypeOf(r)}this.i||n(1,this.t,t.l+"."+i)}function X(t,n,i,r){var e,u;return t.O(n,i.value,null!=(e=null==(u=this.u)?void 0:u.enhancer)?e:N,r)}function H(t){return t||Dn}function U(t){return!0===t.deep?N:!1===t.deep?R:(n=t.defaultDecorator)&&null!=(i=null==(r=n.u)?void 0:r.enhancer)?i:N;var n,i,r}function W(t,n,i){if(!s(n))return Ct(t)?t:a(t)?Fn.object(t,n,i):Array.isArray(t)?Fn.array(t,n):l(t)?Fn.map(t,n):d(t)?Fn.set(t,n):"object"==typeof t&&null!==t?t:Fn.box(t);M(t,n,Bn)}function F(t,n,i,r){function e(){return z(0,i,n,r||this,arguments)}return void 0===i&&(i=!1),e.isMobxAction=!0,ti&&(ni.value=t,Object.defineProperty(e,"name",ni)),e}function z(t,n,i,r,e){var u=$(0,n);try{return i.apply(r,e)}catch(t){throw u.A=t,t}finally{J(u)}}function $(t,n){var i=di.trackingDerivation,r=!n||!i;lt();var e=di.allowStateChanges;r&&(ut(),e=Q(!0));var u={g:r,_:i,S:e,M:st(!0),V:!1,N:0,R:Zn++,k:Qn};return Qn=u.R,u}function J(t){Qn!==t.R&&n(30),Qn=t.k,void 0!==t.A&&(di.suppressReactionErrors=!0),Z(t.S),ft(t.M),dt(),t.g&&ot(t._),di.suppressReactionErrors=!1}function Y(t,n){var i=Q(t);try{return n()}finally{Z(i)}}function Q(t){var n=di.allowStateChanges;return di.allowStateChanges=t,n}function Z(t){di.allowStateChanges=t}function tt(t){return t instanceof ai}function nt(t){switch(t.T){case ui.K:return!1;case ui.L:case ui.C:return!0;case ui.I:for(var n=st(!0),i=ut(),r=t.P,e=r.length,u=0;u<e;u++){var o=r[u];if(fi(o)){if(di.disableErrorBoundaries)o.get();else try{o.get()}catch(t){return ot(i),ft(n),!0}if(t.T===ui.C)return ot(i),ft(n),!0}}return at(t),ot(i),ft(n),!1}}function it(t,n,i){var r=st(!0);at(t),t.D=Array(t.P.length+100),t.B=0,t.q=++di.runId;var e,u=di.trackingDerivation;if(di.trackingDerivation=t,di.inBatch++,!0===di.disableErrorBoundaries)e=n.call(i);else try{e=n.call(i)}catch(t){e=new ai(t)}return di.inBatch--,di.trackingDerivation=u,function(t){for(var n=t.P,i=t.P=t.D,r=ui.K,e=0,u=t.B,o=0;o<u;o++){var s=i[o];0===s.G&&(s.G=1,e!==o&&(i[e]=s),e++),s.T>r&&(r=s.T)}for(i.length=e,t.D=null,u=n.length;u--;){var f=n[u];0===f.G&&ht(f,t),f.G=0}for(;e--;){var a=i[e];1===a.G&&(a.G=0,ct(a,t))}r!==ui.K&&(t.T=r,t.X())}(t),ft(r),e}function rt(t){var n=t.P;t.P=[];for(var i=n.length;i--;)ht(n[i],t);t.T=ui.L}function et(t){var n=ut();try{return t()}finally{ot(n)}}function ut(){var t=di.trackingDerivation;return di.trackingDerivation=null,t}function ot(t){di.trackingDerivation=t}function st(t){var n=di.allowStateReads;return di.allowStateReads=t,n}function ft(t){di.allowStateReads=t}function at(t){if(t.T!==ui.K){t.T=ui.K;for(var n=t.P,i=n.length;i--;)n[i].H=ui.K}}function ct(t,n){t.U.add(n),t.H>n.T&&(t.H=n.T)}function ht(t,n){t.U.delete(n),0===t.U.size&&vt(t)}function vt(t){!1===t.W&&(t.W=!0,di.pendingUnobservations.push(t))}function lt(){di.inBatch++}function dt(){if(0==--di.inBatch){pt();for(var t=di.pendingUnobservations,n=0;n<t.length;n++){var i=t[n];i.W=!1,0===i.U.size&&(i.F&&(i.F=!1,i.onBUO()),i instanceof si&&i.$())}di.pendingUnobservations=[]}}function bt(t){var n=di.trackingDerivation;return null!==n?(n.q!==t.J&&(t.J=n.q,n.D[n.B++]=t,!t.F&&di.trackingContext&&(t.F=!0,t.onBO())),!0):(0===t.U.size&&di.inBatch>0&&vt(t),!1)}function yt(t){t.H!==ui.C&&(t.H=ui.C,t.U.forEach((function(t){t.T===ui.K&&t.X(),t.T=ui.C})))}function pt(){di.inBatch>0||di.isRunningReactions||yi(mt)}function mt(){di.isRunningReactions=!0;for(var t=di.pendingReactions,n=0;t.length>0;){100==++n&&(console.error("[mobx] cycle in reaction: "+t[0]),t.splice(0));for(var i=t.splice(0),r=0,e=i.length;r<e;r++)i[r].Y()}di.isRunningReactions=!1}function jt(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function wt(t){return function(n,i){return o(n)?F(n.name||"<unnamed action>",n,t):o(i)?F(n,i,t):s(i)?M(n,i,t?wi:mi):s(n)?x(E(t?"autoAction":"action",{name:n,autoAction:t})):void 0}}function Ot(t){return z(0,!1,t,this,void 0)}function At(t){return o(t)&&!0===t.isMobxAction}function gt(t,n){function i(){t(r)}void 0===n&&(n=xn);var r,u=n&&n.name||t.name||"Autorun@"+e();if(n.scheduler||n.delay){var o=_t(n),s=!1;r=new bi(u,(function(){s||(s=!0,o((function(){s=!1,r.Z||r.track(i)})))}),n.onError,n.requiresObservable)}else r=new bi(u,(function(){this.track(i)}),n.onError,n.requiresObservable);return r.tt(),r.nt()}function _t(t){return t.scheduler?t.scheduler:t.delay?function(n){return setTimeout(n,t.delay)}:_i}function St(t,n,i){return Mt("onBO",t,n,i)}function xt(t,n,i){return Mt("onBUO",t,n,i)}function Mt(t,n,i,r){var e="function"==typeof r?vn(n,i):vn(n),u=o(r)?r:i,s=t+"L";return e[s]?e[s].add(u):e[s]=new Set([u]),function(){var t=e[s];t&&(t.delete(u),0===t.size&&delete e[s])}}function Vt(t,n,i,r){var e=kn(n),u=un(t,r)[Kn];lt();try{En(e).forEach((function(t){u.s(t,e[t],!i||!(t in i)||i[t])}))}finally{dt()}return t}function Nt(t){var n,i={name:t.l};return t.P&&t.P.length>0&&(i.dependencies=(n=t.P,Array.from(new Set(n))).map(Nt)),i}function Rt(t){var n={name:t.l};return function(t){return t.U&&t.U.size>0}(t)&&(n.observers=Array.from(function(t){return t.U}(t)).map(Rt)),n}function Et(){this.message="FLOW_CANCELLED"}function kt(t){o(t.cancel)&&t.cancel()}function Tt(t){return!0===(null==t?void 0:t.isMobXFlow)}function Kt(t,n){if(void 0!==n){if(!1===sn(t))return!1;if(!t[Kn].it.has(n))return!1;var i=vn(t,n);return fi(i)}return fi(t)}function Lt(t,n){return!!t&&(void 0!==n?!!sn(t)&&t[Kn].it.has(n):sn(t)||!!t[Kn]||Cn(t)||pi(t)||fi(t))}function Ct(t){return Lt(t)}function It(t){return sn(t)?t[Kn].rt():qi(t)||Wi(t)?Array.from(t.keys()):en(t)?t.map((function(t,n){return n})):void n(5)}function Pt(t,i){return sn(t)?t[Kn].et(i):qi(t)||Wi(t)?t.has(i):en(t)?i>=0&&i<t.length:void n(10)}function Dt(t,n,i){return t.set(n,i),i}function Bt(){n("trace() is not available in production builds");for(var t=!1,i=arguments.length,r=Array(i),e=0;e<i;e++)r[e]=arguments[e];"boolean"==typeof r[r.length-1]&&(t=r.pop());var u=qt(r);if(!u)return n("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");u.ut===oi.NONE&&console.log("[mobx.trace] '"+u.l+"' tracing enabled"),u.ut=t?oi.BREAK:oi.LOG}function qt(t){switch(t.length){case 0:return di.trackingDerivation;case 1:return vn(t[0]);case 2:return vn(t[0],t[1])}}function Gt(t,n){void 0===n&&(n=void 0),lt();try{return t.apply(n)}finally{dt()}}function Xt(t,n,i){var r;"number"==typeof i.timeout&&(r=setTimeout((function(){if(!o[Kn].Z){o();var t=Error("WHEN_TIMEOUT");if(!i.onError)throw t;i.onError(t)}}),i.timeout)),i.name=i.name||"When@"+e();var u=F(i.name+"-effect",n),o=gt((function(n){Y(!1,t)&&(n.dispose(),r&&clearTimeout(r),u())}),i);return o}function Ht(t,n){var i,r=new Promise((function(r,e){var u=Xt(t,r,O({},n,{onError:e}));i=function(){u(),e("WHEN_CANCELLED")}}));return r.cancel=i,r}function Ut(t){return t[Kn]}function Wt(t){return void 0!==t.ot&&t.ot.length>0}function Ft(t,n){var i=t.ot||(t.ot=[]);return i.push(n),u((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function zt(t,i){var r=ut();try{for(var e=[].concat(t.ot||[]),u=0,o=e.length;u<o&&((i=e[u](i))&&!i.type&&n(14),i);u++);return i}finally{ot(r)}}function $t(t){return void 0!==t.st&&t.st.length>0}function Jt(t,n){var i=t.st||(t.st=[]);return i.push(n),u((function(){var t=i.indexOf(n);-1!==t&&i.splice(t,1)}))}function Yt(t,n){var i=ut(),r=t.st;if(r){for(var e=0,u=(r=r.slice()).length;e<u;e++)r[e](n);ot(i)}}function Qt(t,n,i,u){void 0===i&&(i="ObservableArray@"+e()),void 0===u&&(u=!1),r();var o=new Ei(i,n,u,!1);h(o.it,Kn,o);var s=new Proxy(o.it,Ri);if(o.p=s,t&&t.length){var f=Q(!0);o.ft(0,0,t),Z(f)}return s}function Zt(t,n){"function"==typeof Array.prototype[t]&&(ki[t]=n(t))}function tn(t){return function(){var n=this[Kn];n.at.reportObserved();var i=n.ct(n.it);return i[t].apply(i,arguments)}}function nn(t){return function(n,i){var r=this,e=this[Kn];return e.at.reportObserved(),e.ct(e.it)[t]((function(t,e){return n.call(i,t,e,r)}))}}function rn(t){return function(){var n=this,i=this[Kn];i.at.reportObserved();var r=i.ct(i.it),e=arguments[0];return arguments[0]=function(t,i,r){return e(t,i,r,n)},r[t].apply(r,arguments)}}function en(t){return f(t)&&Li(t[Kn])}function un(t,n){var i;if(m(t,Kn))return t;var r=null!=(i=null==n?void 0:n.name)?i:(a(t)?"ObservableObject":t.constructor.name)+"@"+e(),u=new $i(t,new Map,y(r),function(t){return t?!0===t.deep?Bn:!1===t.deep?qn:t.defaultDecorator:void 0}(n),null==n?void 0:n.autoBind);return c(t,Kn,u),t}function on(t){return zi[t]||(zi[t]={get:function(){return this[Kn].ht(t)},set:function(n){return this[Kn].vt(t,n)}})}function sn(t){return!!f(t)&&Ji(t[Kn])}function fn(t,n,i){n.i&&delete t.h[Tn][i]}function an(t){gn(Zi.prototype,""+t,function(t){return{enumerable:!1,configurable:!0,get:function(){return this[Kn].lt(t)},set:function(n){this[Kn].dt(t,n)}}}(t))}function cn(t){if(t>Yi){for(var n=Yi;n<t+100;n++)an(n);Yi=t}}function hn(t,n,i){return new Zi(t,n,i)}function vn(t,i){if("object"==typeof t&&null!==t){if(en(t))return void 0!==i&&n(23),t[Kn].at;if(Wi(t))return t[Kn];if(qi(t)){if(void 0===i)return t.bt;var r=t.yt.get(i)||t.pt.get(i);return r||n(25,i,dn(t)),r}if(sn(t)){if(!i)return n(26);var e=t[Kn].it.get(i);return e||n(27,i,dn(t)),e}if(Cn(t)||fi(t)||pi(t))return t}else if(o(t)&&pi(t[Kn]))return t[Kn];n(28)}function ln(t,i){return t||n(29),void 0!==i?ln(vn(t,i)):Cn(t)||fi(t)||pi(t)||qi(t)||Wi(t)?t:t[Kn]?t[Kn]:void n(24,t)}function dn(t,n){return(void 0!==n?vn(t,n):sn(t)||qi(t)||Wi(t)?ln(t):vn(t)).l}function bn(t,n,i){return void 0===i&&(i=-1),function t(n,i,r,e,u){if(n===i)return 0!==n||1/n==1/i;if(null==n||null==i)return!1;if(n!=n)return i!=i;var s=typeof n;if(!o(s)&&"object"!==s&&"object"!=typeof i)return!1;var f=tr.call(n);if(f!==tr.call(i))return!1;switch(f){case"[object RegExp]":case"[object String]":return""+n==""+i;case"[object Number]":return+n!=+n?+i!=+i:0==+n?1/+n==1/i:+n==+i;case"[object Date]":case"[object Boolean]":return+n==+i;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(n)===Symbol.valueOf.call(i);case"[object Map]":case"[object Set]":r>=0&&r++}n=yn(n),i=yn(i);var a="[object Array]"===f;if(!a){if("object"!=typeof n||"object"!=typeof i)return!1;var c=n.constructor,h=i.constructor;if(c!==h&&!(o(c)&&c instanceof c&&o(h)&&h instanceof h)&&"constructor"in n&&"constructor"in i)return!1}if(0===r)return!1;r<0&&(r=-1),u=u||[];for(var v=(e=e||[]).length;v--;)if(e[v]===n)return u[v]===i;if(e.push(n),u.push(i),a){if((v=n.length)!==i.length)return!1;for(;v--;)if(!t(n[v],i[v],r-1,e,u))return!1}else{var l,d=Object.keys(n);if(v=d.length,Object.keys(i).length!==v)return!1;for(;v--;)if(!m(i,l=d[v])||!t(n[l],i[l],r-1,e,u))return!1}return e.pop(),u.pop(),!0}(t,n,i)}function yn(t){return en(t)?t.slice():l(t)||qi(t)||d(t)||Wi(t)?Array.from(t.entries()):t}function pn(t){return t[Symbol.iterator]=mn,t}function mn(){return this}function jn(t,n,i){return t.get?Jn:!t.set&&(o(t.value)?!(e=null==(r=t.value)?void 0:r.constructor)||"GeneratorFunction"!==e.name&&"GeneratorFunction"!==e.displayName?!At(t.value)&&(i?gi.bound:gi):!Tt(t.value)&&Mi:n);var r,e}var wn={},On=Object.assign,An=Object.getOwnPropertyDescriptor,gn=Object.defineProperty,_n=Object.prototype,Sn=[];Object.freeze(Sn);var xn={};Object.freeze(xn);var Mn="undefined"!=typeof Proxy,Vn=""+Object,Nn=function(){},Rn=void 0!==Object.getOwnPropertySymbols,En="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Rn?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,kn=Object.getOwnPropertyDescriptors||function(t){var n={};return En(t).forEach((function(i){n[i]=An(t,i)})),n},Tn=Symbol("mobx-stored-annotations"),Kn=Symbol("mobx administration"),Ln=function(){function t(t){void 0===t&&(t="Atom@"+e()),this.l=void 0,this.W=!1,this.F=!1,this.U=new Set,this.G=0,this.J=0,this.H=ui.L,this.onBOL=void 0,this.onBUOL=void 0,this.l=t}var n=t.prototype;return n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},n.reportObserved=function(){return bt(this)},n.reportChanged=function(){lt(),yt(this),dt()},n.toString=function(){return this.l},t}(),Cn=v("Atom",Ln),In={identity:function(t,n){return t===n},structural:function(t,n){return bn(t,n)},default:function(t,n){return Object.is(t,n)},shallow:function(t,n){return bn(t,n,1)}},Pn=x({t:"override",o:function(){},s:function(){n("'"+this.t+"' can only be used with 'makeObservable'")}}),Dn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Dn);var Bn=q("observable"),qn=q("observable.ref",{enhancer:R}),Gn=q("observable.shallow",{enhancer:function(t,n,i){return null==t||sn(t)||en(t)||qi(t)||Wi(t)?t:Array.isArray(t)?Fn.array(t,{name:i,deep:!1}):a(t)?Fn.object(t,void 0,{name:i,deep:!1}):l(t)?Fn.map(t,{name:i,deep:!1}):d(t)?Fn.set(t,{name:i,deep:!1}):void 0}}),Xn=q("observable.struct",{enhancer:function(t,n){return bn(t,n)?n:t}}),Hn=x(Bn);Object.assign(W,Hn);var Un,Wn,Fn=On(W,{box:function(t,n){var i=H(n);return new ri(t,U(i),i.name,!0,i.equals)},array:function(t,n){var i=H(n);return(!1===di.useProxies||!1===i.proxy?hn:Qt)(t,U(i),i.name)},map:function(t,n){var i=H(n);return new Bi(t,U(i),i.name)},set:function(t,n){var i=H(n);return new Ui(t,U(i),i.name)},object:function(t,n,i){return Vt(!1===di.useProxies||!1===(null==i?void 0:i.proxy)?un({},i):function(t,n){var i,e;return r(),null!=(e=(i=(t=un(t,n))[Kn]).p)?e:i.p=new Proxy(t,Vi)}({},i),t,n)},ref:x(qn),shallow:x(Gn),deep:Hn,struct:x(Xn)}),zn=P("computed"),$n=P("computed.struct",{equals:In.structural}),Jn=function(t,n){if(s(n))return M(t,n,zn);if(a(t))return x(P("computed",t));var i=a(n)?n:{};return i.get=t,i.name=i.name||t.name||"",new si(i)};Object.assign(Jn,zn),Jn.struct=x($n);var Yn,Qn=0,Zn=1,ti=null!=(Un=null==(Wn=An((function(){}),"name"))?void 0:Wn.configurable)&&Un,ni={value:"action",configurable:!0,writable:!1,enumerable:!1};Yn=Symbol.toPrimitive;var ii,ri=function(t){function n(n,i,r,u,o){var s;return void 0===r&&(r="ObservableValue@"+e()),void 0===o&&(o=In.default),(s=t.call(this,r)||this).enhancer=void 0,s.l=void 0,s.equals=void 0,s.jt=!1,s.ot=void 0,s.st=void 0,s.wt=void 0,s.dehancer=void 0,s.enhancer=i,s.l=r,s.equals=o,s.wt=i(n,void 0,r),s}A(n,t);var i=n.prototype;return i.dehanceValue=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.set=function(t){(t=this.Ot(t))!==di.UNCHANGED&&this.At(t)},i.Ot=function(t){if(Wt(this)){var n=zt(this,{object:this,type:Ni,newValue:t});if(!n)return di.UNCHANGED;t=n.newValue}return t=this.enhancer(t,this.wt,this.l),this.equals(this.wt,t)?di.UNCHANGED:t},i.At=function(t){var n=this.wt;this.wt=t,this.reportChanged(),$t(this)&&Yt(this,{type:Ni,object:this,newValue:t,oldValue:n})},i.get=function(){return this.reportObserved(),this.dehanceValue(this.wt)},i.gt=function(t){return Ft(this,t)},i._t=function(t,n){return n&&t({observableKind:"value",debugObjectName:this.l,object:this,type:Ni,newValue:this.wt,oldValue:void 0}),Jt(this,t)},i.raw=function(){return this.wt},i.toJSON=function(){return this.get()},i.toString=function(){return this.l+"["+this.wt+"]"},i.valueOf=function(){return p(this.get())},i[Yn]=function(){return this.valueOf()},n}(Ln),ei=v("ObservableValue",ri);ii=Symbol.toPrimitive;var ui,oi,si=function(){function t(t){this.T=ui.L,this.P=[],this.D=null,this.F=!1,this.W=!1,this.U=new Set,this.G=0,this.q=0,this.J=0,this.H=ui.K,this.B=0,this.St="#"+e(),this.wt=new ai(null),this.l=void 0,this.xt=void 0,this.Mt=!1,this.Vt=!1,this.derivation=void 0,this.Nt=void 0,this.ut=oi.NONE,this.Rt=void 0,this.Et=void 0,this.kt=void 0,this.Tt=void 0,this.onBOL=void 0,this.onBUOL=void 0,t.get||n(31),this.derivation=t.get,this.l=t.name||"ComputedValue@"+e(),t.set&&(this.Nt=F(this.l+"-setter",t.set)),this.Et=t.equals||(t.compareStructural||t.struct?In.structural:In.default),this.Rt=t.context,this.kt=!!t.requiresReaction,this.Tt=!!t.keepAlive}var i=t.prototype;return i.X=function(){!function(t){t.H===ui.K&&(t.H=ui.I,t.U.forEach((function(t){t.T===ui.K&&(t.T=ui.I,t.X())})))}(this)},i.onBO=function(){this.onBOL&&this.onBOL.forEach((function(t){return t()}))},i.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(t){return t()}))},i.get=function(){if(this.Mt&&n(32,this.l,this.derivation),0!==di.inBatch||0!==this.U.size||this.Tt){if(bt(this),nt(this)){var t=di.trackingContext;this.Tt&&!t&&(di.trackingContext=this),this.trackAndCompute()&&function(t){t.H!==ui.C&&(t.H=ui.C,t.U.forEach((function(n){n.T===ui.I?n.T=ui.C:n.T===ui.K&&(t.H=ui.K)})))}(this),di.trackingContext=t}}else nt(this)&&(this.Kt(),lt(),this.wt=this.Lt(!1),dt());var i=this.wt;if(tt(i))throw i.cause;return i},i.set=function(t){if(this.Nt){this.Vt&&n(33,this.l),this.Vt=!0;try{this.Nt.call(this.Rt,t)}finally{this.Vt=!1}}else n(34,this.l)},i.trackAndCompute=function(){var t=this.wt,n=this.T===ui.L,i=this.Lt(!0),r=n||tt(t)||tt(i)||!this.Et(t,i);return r&&(this.wt=i),r},i.Lt=function(t){this.Mt=!0;var n,i=Q(!1);if(t)n=it(this,this.derivation,this.Rt);else if(!0===di.disableErrorBoundaries)n=this.derivation.call(this.Rt);else try{n=this.derivation.call(this.Rt)}catch(t){n=new ai(t)}return Z(i),this.Mt=!1,n},i.$=function(){this.Tt||(rt(this),this.wt=void 0)},i._t=function(t,n){var i=this,r=!0,e=void 0;return gt((function(){var u=i.get();if(!r||n){var o=ut();t({observableKind:"computed",debugObjectName:i.l,type:Ni,object:i,newValue:u,oldValue:e}),ot(o)}r=!1,e=u}))},i.Kt=function(){},i.toString=function(){return this.l+"["+this.derivation+"]"},i.valueOf=function(){return p(this.get())},i[ii]=function(){return this.valueOf()},t}(),fi=v("ComputedValue",si);!function(t){t[t.L=-1]="NOT_TRACKING_",t[t.K=0]="UP_TO_DATE_",t[t.I=1]="POSSIBLY_STALE_",t[t.C=2]="STALE_"}(ui||(ui={})),function(t){t[t.NONE=0]="NONE",t[t.LOG=1]="LOG",t[t.BREAK=2]="BREAK"}(oi||(oi={}));var ai=function(t){this.cause=void 0,this.cause=t},ci=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],hi=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1},vi=!0,li=!1,di=function(){var t=i();return t.__mobxInstanceCount>0&&!t.__mobxGlobals&&(vi=!1),t.__mobxGlobals&&t.__mobxGlobals.version!==(new hi).version&&(vi=!1),vi?t.__mobxGlobals?(t.__mobxInstanceCount+=1,t.__mobxGlobals.UNCHANGED||(t.__mobxGlobals.UNCHANGED={}),t.__mobxGlobals):(t.__mobxInstanceCount=1,t.__mobxGlobals=new hi):(setTimeout((function(){li||n(35)}),1),new hi)}(),bi=function(){function t(t,n,i,r){void 0===t&&(t="Reaction@"+e()),void 0===r&&(r=!1),this.l=void 0,this.Ct=void 0,this.It=void 0,this.Pt=void 0,this.P=[],this.D=[],this.T=ui.L,this.G=0,this.q=0,this.B=0,this.St="#"+e(),this.Z=!1,this.Dt=!1,this.Bt=!1,this.qt=!1,this.ut=oi.NONE,this.l=t,this.Ct=n,this.It=i,this.Pt=r}var n=t.prototype;return n.X=function(){this.tt()},n.tt=function(){this.Dt||(this.Dt=!0,di.pendingReactions.push(this),pt())},n.isScheduled=function(){return this.Dt},n.Y=function(){if(!this.Z){lt(),this.Dt=!1;var t=di.trackingContext;if(di.trackingContext=this,nt(this)){this.Bt=!0;try{this.Ct()}catch(t){this.Gt(t)}}di.trackingContext=t,dt()}},n.track=function(t){if(!this.Z){lt(),this.qt=!0;var n=di.trackingContext;di.trackingContext=this;var i=it(this,t,void 0);di.trackingContext=n,this.qt=!1,this.Bt=!1,this.Z&&rt(this),tt(i)&&this.Gt(i.cause),dt()}},n.Gt=function(t){var n=this;if(this.It)this.It(t,this);else{if(di.disableErrorBoundaries)throw t;di.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",t),di.globalReactionErrorHandlers.forEach((function(i){return i(t,n)}))}},n.dispose=function(){this.Z||(this.Z=!0,this.qt||(lt(),rt(this),dt()))},n.nt=function(){var t=this.dispose.bind(this);return t[Kn]=this,t},n.toString=function(){return"Reaction["+this.l+"]"},n.trace=function(t){void 0===t&&(t=!1),Bt(this,t)},t}(),yi=function(t){return t()},pi=v("Reaction",bi),mi=E("action"),ji=E("action.bound",{bound:!0}),wi=E("autoAction",{autoAction:!0}),Oi=E("autoAction.bound",{autoAction:!0,bound:!0}),Ai=wt(!1);Object.assign(Ai,mi);var gi=wt(!0);Object.assign(gi,wi),Ai.bound=x(ji),gi.bound=x(Oi);var _i=function(t){return t()},Si=0;Et.prototype=Object.create(Error.prototype);var xi={t:"flow",u:void 0,o:L,s:C},Mi=Object.assign((function(t,n){if(s(n))return M(t,n,xi);var i=t,r=i.name||"<unnamed flow>",e=function(){var t,n=this,e=arguments,u=++Si,s=Ai(r+" - runid: "+u+" - init",i).apply(n,e),f=void 0,a=new Promise((function(n,i){function e(t){var n;f=void 0;try{n=Ai(r+" - runid: "+u+" - yield "+h++,s.next).call(s,t)}catch(t){return i(t)}c(n)}function a(t){var n;f=void 0;try{n=Ai(r+" - runid: "+u+" - yield "+h++,s.throw).call(s,t)}catch(t){return i(t)}c(n)}function c(t){if(!o(null==t?void 0:t.then))return t.done?n(t.value):(f=Promise.resolve(t.value)).then(e,a);t.then(c,i)}var h=0;t=i,e(void 0)}));return a.cancel=Ai(r+" - runid: "+u+" - cancel",(function(){try{f&&kt(f);var n=s.return(void 0),i=Promise.resolve(n.value);i.then(Nn,Nn),kt(i),t(new Et)}catch(n){t(n)}})),a};return e.isMobXFlow=!0,e}),xi),Vi={has:function(t,n){return Ut(t).et(n)},get:function(t,n){return Ut(t).lt(n)},set:function(t,n,i){var r;return!!s(n)&&(null==(r=Ut(t).dt(n,i,!0))||r)},deleteProperty:function(t,n){var i;return!!s(n)&&(null==(i=Ut(t).Xt(n,!0))||i)},defineProperty:function(t,n,i){var r;return null==(r=Ut(t).v(n,i))||r},ownKeys:function(t){return Ut(t).Ht()},preventExtensions:function(){n(13)}},Ni="update",Ri={get:function(t,n){var i=t[Kn];return n===Kn?i:"length"===n?i.Ut():"string"!=typeof n||isNaN(n)?m(ki,n)?ki[n]:t[n]:i.lt(parseInt(n))},set:function(t,n,i){var r=t[Kn];return"length"===n&&r.Wt(i),"symbol"==typeof n||isNaN(n)?t[n]=i:r.dt(parseInt(n),i),!0},preventExtensions:function(){n(15)}},Ei=function(){function t(t,n,i,r){this.Ft=void 0,this.zt=void 0,this.at=void 0,this.it=[],this.ot=void 0,this.st=void 0,this.$t=void 0,this.dehancer=void 0,this.p=void 0,this.Jt=0,this.Ft=i,this.zt=r,this.at=new Ln(t||"ObservableArray@"+e()),this.$t=function(i,r){return n(i,r,t+"[..]")}}var i=t.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.ct=function(t){return void 0!==this.dehancer&&t.length>0?t.map(this.dehancer):t},i.gt=function(t){return Ft(this,t)},i._t=function(t,n){return void 0===n&&(n=!1),n&&t({observableKind:"array",object:this.p,debugObjectName:this.at.l,type:"splice",index:0,added:this.it.slice(),addedCount:this.it.length,removed:[],removedCount:0}),Jt(this,t)},i.Ut=function(){return this.at.reportObserved(),this.it.length},i.Wt=function(t){("number"!=typeof t||t<0)&&n("Out of range: "+t);var i=this.it.length;if(t!==i)if(t>i){for(var r=Array(t-i),e=0;e<t-i;e++)r[e]=void 0;this.ft(i,0,r)}else this.ft(t,i-t)},i.Qt=function(t,i){t!==this.Jt&&n(16),this.Jt+=i,this.zt&&i>0&&cn(t+i+1)},i.ft=function(t,n,i){var r=this,e=this.it.length;if(void 0===t?t=0:t>e?t=e:t<0&&(t=Math.max(0,e+t)),n=1===arguments.length?e-t:null==n?0:Math.max(0,Math.min(n,e-t)),void 0===i&&(i=Sn),Wt(this)){var u=zt(this,{object:this.p,type:"splice",index:t,removedCount:n,added:i});if(!u)return Sn;n=u.removedCount,i=u.added}if(i=0===i.length?i:i.map((function(t){return r.$t(t,void 0)})),this.zt){var o=i.length-n;this.Qt(e,o)}var s=this.Zt(t,n,i);return 0===n&&0===i.length||this.tn(t,i,s),this.ct(s)},i.Zt=function(t,n,i){var r;if(i.length<1e4)return(r=this.it).splice.apply(r,[t,n].concat(i));var e=this.it.slice(t,t+n),u=this.it.slice(t+n);this.it.length=t+i.length-n;for(var o=0;o<i.length;o++)this.it[t+o]=i[o];for(var s=0;s<u.length;s++)this.it[t+i.length+s]=u[s];return e},i.nn=function(t,n,i){var r=!this.Ft&&!1,e=$t(this),u=e||r?{observableKind:"array",object:this.p,type:Ni,debugObjectName:this.at.l,index:t,newValue:n,oldValue:i}:null;this.at.reportChanged(),e&&Yt(this,u)},i.tn=function(t,n,i){var r=!this.Ft&&!1,e=$t(this),u=e||r?{observableKind:"array",object:this.p,debugObjectName:this.at.l,type:"splice",index:t,removed:i,added:n,removedCount:i.length,addedCount:n.length}:null;this.at.reportChanged(),e&&Yt(this,u)},i.lt=function(t){if(t<this.it.length)return this.at.reportObserved(),this.Yt(this.it[t]);console.warn("[mobx.array] Attempt to read an array index ("+t+") that is out of bounds ("+this.it.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},i.dt=function(t,i){var r=this.it;if(t<r.length){var e=r[t];if(Wt(this)){var u=zt(this,{type:Ni,object:this.p,index:t,newValue:i});if(!u)return;i=u.newValue}(i=this.$t(i,e))!==e&&(r[t]=i,this.nn(t,i,e))}else t===r.length?this.ft(t,0,[i]):n(17,t,r.length)},t}(),ki={clear:function(){return this.splice(0)},replace:function(t){var n=this[Kn];return n.ft(0,n.it.length,t)},toJSON:function(){return this.slice()},splice:function(t,n){for(var i=arguments.length,r=Array(i>2?i-2:0),e=2;e<i;e++)r[e-2]=arguments[e];var u=this[Kn];switch(arguments.length){case 0:return[];case 1:return u.ft(t);case 2:return u.ft(t,n)}return u.ft(t,n,r)},spliceWithArray:function(t,n,i){return this[Kn].ft(t,n,i)},push:function(){for(var t=this[Kn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ft(t.it.length,0,i),t.it.length},pop:function(){return this.splice(Math.max(this[Kn].it.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var t=this[Kn],n=arguments.length,i=Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.ft(0,0,i),t.it.length},reverse:function(){return di.trackingDerivation&&n(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){di.trackingDerivation&&n(37,"sort");var t=this.slice();return t.sort.apply(t,arguments),this.replace(t),this},remove:function(t){var n=this[Kn],i=n.ct(n.it).indexOf(t);return i>-1&&(this.splice(i,1),!0)}};Zt("concat",tn),Zt("flat",tn),Zt("includes",tn),Zt("indexOf",tn),Zt("join",tn),Zt("lastIndexOf",tn),Zt("slice",tn),Zt("toString",tn),Zt("toLocaleString",tn),Zt("every",nn),Zt("filter",nn),Zt("find",nn),Zt("findIndex",nn),Zt("flatMap",nn),Zt("forEach",nn),Zt("map",nn),Zt("some",nn),Zt("reduce",rn),Zt("reduceRight",rn);var Ti,Ki,Li=v("ObservableArrayAdministration",Ei),Ci={},Ii="add";Ti=Symbol.iterator,Ki=Symbol.toStringTag;var Pi,Di,Bi=function(){function t(t,i,r){void 0===i&&(i=N),void 0===r&&(r="ObservableMap@"+e()),this.$t=void 0,this.l=void 0,this[Kn]=Ci,this.yt=void 0,this.pt=void 0,this.bt=void 0,this.ot=void 0,this.st=void 0,this.dehancer=void 0,this.$t=i,this.l=r,o(Map)||n(18),this.bt=V(this.l+".keys()"),this.yt=new Map,this.pt=new Map,this.merge(t)}var i=t.prototype;return i.et=function(t){return this.yt.has(t)},i.has=function(t){var n=this;if(!di.trackingDerivation)return this.et(t);var i=this.pt.get(t);if(!i){var r=i=new ri(this.et(t),R,this.l+"."+y(t)+"?",!1);this.pt.set(t,r),xt(r,(function(){return n.pt.delete(t)}))}return i.get()},i.set=function(t,n){var i=this.et(t);if(Wt(this)){var r=zt(this,{type:i?Ni:Ii,object:this,newValue:n,name:t});if(!r)return this;n=r.newValue}return i?this.in(t,n):this.rn(t,n),this},i.delete=function(t){var n=this;if(Wt(this)&&!zt(this,{type:"delete",object:this,name:t}))return!1;if(this.et(t)){var i=$t(this),r=i?{observableKind:"map",debugObjectName:this.l,type:"delete",object:this,oldValue:this.yt.get(t).wt,name:t}:null;return Gt((function(){n.bt.reportChanged(),n.en(t,!1),n.yt.get(t).At(void 0),n.yt.delete(t)})),i&&Yt(this,r),!0}return!1},i.en=function(t,n){var i=this.pt.get(t);i&&i.At(n)},i.in=function(t,n){var i=this.yt.get(t);if((n=i.Ot(n))!==di.UNCHANGED){var r=$t(this),e=r?{observableKind:"map",debugObjectName:this.l,type:Ni,object:this,oldValue:i.wt,name:t,newValue:n}:null;i.At(n),r&&Yt(this,e)}},i.rn=function(t,n){var i=this;Gt((function(){var r=new ri(n,i.$t,i.l+"."+y(t),!1);i.yt.set(t,r),n=r.wt,i.en(t,!0),i.bt.reportChanged()}));var r=$t(this);r&&Yt(this,r?{observableKind:"map",debugObjectName:this.l,type:Ii,object:this,name:t,newValue:n}:null)},i.get=function(t){return this.has(t)?this.Yt(this.yt.get(t).get()):this.Yt(void 0)},i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.keys=function(){return this.bt.reportObserved(),this.yt.keys()},i.values=function(){var t=this,n=this.keys();return pn({next:function(){var i=n.next(),r=i.done;return{done:r,value:r?void 0:t.get(i.value)}}})},i.entries=function(){var t=this,n=this.keys();return pn({next:function(){var i=n.next(),r=i.done,e=i.value;return{done:r,value:r?void 0:[e,t.get(e)]}}})},i[Ti]=function(){return this.entries()},i.forEach=function(t,n){for(var i,r=S(this);!(i=r()).done;){var e=i.value;t.call(n,e[1],e[0],this)}},i.merge=function(t){var i=this;return qi(t)&&(t=new Map(t)),Gt((function(){a(t)?b(t).forEach((function(n){return i.set(n,t[n])})):Array.isArray(t)?t.forEach((function(t){return i.set(t[0],t[1])})):l(t)?(t.constructor!==Map&&n(19,t),t.forEach((function(t,n){return i.set(n,t)}))):null!=t&&n(20,t)})),this},i.clear=function(){var t=this;Gt((function(){et((function(){for(var n,i=S(t.keys());!(n=i()).done;)t.delete(n.value)}))}))},i.replace=function(t){var i=this;return Gt((function(){for(var r,e=function(t){if(l(t)||qi(t))return t;if(Array.isArray(t))return new Map(t);if(a(t)){var i=new Map;for(var r in t)i.set(r,t[r]);return i}return n(21,t)}(t),u=new Map,o=!1,s=S(i.yt.keys());!(r=s()).done;){var f=r.value;if(!e.has(f))if(i.delete(f))o=!0;else{var c=i.yt.get(f);u.set(f,c)}}for(var h,v=S(e.entries());!(h=v()).done;){var d=h.value,b=d[0],y=d[1],p=i.yt.has(b);if(i.set(b,y),i.yt.has(b)){var m=i.yt.get(b);u.set(b,m),p||(o=!0)}}if(!o)if(i.yt.size!==u.size)i.bt.reportChanged();else for(var j=i.yt.keys(),w=u.keys(),O=j.next(),A=w.next();!O.done;){if(O.value!==A.value){i.bt.reportChanged();break}O=j.next(),A=w.next()}i.yt=u})),this},i.toString=function(){return"[object ObservableMap]"},i.toJSON=function(){return Array.from(this)},i._t=function(t){return Jt(this,t)},i.gt=function(t){return Ft(this,t)},w(t,[{key:"size",get:function(){return this.bt.reportObserved(),this.yt.size}},{key:Ki,get:function(){return"Map"}}]),t}(),qi=v("ObservableMap",Bi),Gi={};Pi=Symbol.iterator,Di=Symbol.toStringTag;var Xi,Hi,Ui=function(){function t(t,i,r){void 0===i&&(i=N),void 0===r&&(r="ObservableSet@"+e()),this.l=void 0,this[Kn]=Gi,this.yt=new Set,this.at=void 0,this.st=void 0,this.ot=void 0,this.dehancer=void 0,this.$t=void 0,this.l=r,o(Set)||n(22),this.at=V(this.l),this.$t=function(t,n){return i(t,n,r)},t&&this.replace(t)}var i=t.prototype;return i.Yt=function(t){return void 0!==this.dehancer?this.dehancer(t):t},i.clear=function(){var t=this;Gt((function(){et((function(){for(var n,i=S(t.yt.values());!(n=i()).done;)t.delete(n.value)}))}))},i.forEach=function(t,n){for(var i,r=S(this);!(i=r()).done;){var e=i.value;t.call(n,e,e,this)}},i.add=function(t){var n=this;if(Wt(this)&&!zt(this,{type:Ii,object:this,newValue:t}))return this;if(!this.has(t)){Gt((function(){n.yt.add(n.$t(t,void 0)),n.at.reportChanged()}));var i=$t(this);i&&Yt(this,i?{observableKind:"set",debugObjectName:this.l,type:Ii,object:this,newValue:t}:null)}return this},i.delete=function(t){var n=this;if(Wt(this)&&!zt(this,{type:"delete",object:this,oldValue:t}))return!1;if(this.has(t)){var i=$t(this),r=i?{observableKind:"set",debugObjectName:this.l,type:"delete",object:this,oldValue:t}:null;return Gt((function(){n.at.reportChanged(),n.yt.delete(t)})),i&&Yt(this,r),!0}return!1},i.has=function(t){return this.at.reportObserved(),this.yt.has(this.Yt(t))},i.entries=function(){var t=0,n=Array.from(this.keys()),i=Array.from(this.values());return pn({next:function(){var r=t;return t+=1,r<i.length?{value:[n[r],i[r]],done:!1}:{done:!0}}})},i.keys=function(){return this.values()},i.values=function(){this.at.reportObserved();var t=this,n=0,i=Array.from(this.yt.values());return pn({next:function(){return n<i.length?{value:t.Yt(i[n++]),done:!1}:{done:!0}}})},i.replace=function(t){var i=this;return Wi(t)&&(t=new Set(t)),Gt((function(){Array.isArray(t)||d(t)?(i.clear(),t.forEach((function(t){return i.add(t)}))):null!=t&&n("Cannot initialize set from "+t)})),this},i._t=function(t){return Jt(this,t)},i.gt=function(t){return Ft(this,t)},i.toJSON=function(){return Array.from(this)},i.toString=function(){return"[object ObservableSet]"},i[Pi]=function(){return this.values()},w(t,[{key:"size",get:function(){return this.at.reportObserved(),this.yt.size}},{key:Di,get:function(){return"Set"}}]),t}(),Wi=v("ObservableSet",Ui),Fi=Symbol("mobx-inferred-annotations"),zi=Object.create(null),$i=function(){function t(t,n,i,r,e){void 0===n&&(n=new Map),void 0===r&&(r=Fn),void 0===e&&(e=!1),this.h=void 0,this.it=void 0,this.l=void 0,this.un=void 0,this.on=void 0,this.bt=void 0,this.st=void 0,this.ot=void 0,this.p=void 0,this.m=void 0,this.sn=void 0,this.fn=void 0,this.h=t,this.it=n,this.l=i,this.un=r,this.on=e,this.bt=new Ln(i+".keys"),this.m=a(this.h)}var i=t.prototype;return i.ht=function(t){return this.it.get(t).get()},i.vt=function(t,n){var i=this.it.get(t);if(i instanceof si)return i.set(n),!0;if(Wt(this)){var r=zt(this,{type:Ni,object:this.p||this.h,name:t,newValue:n});if(!r)return null;n=r.newValue}if((n=i.Ot(n))!==di.UNCHANGED){var e=$t(this),u=e?{type:Ni,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,oldValue:i.wt,name:t,newValue:n}:null;i.At(n),e&&Yt(this,u)}return!0},i.lt=function(t){return di.trackingDerivation&&!m(this.h,t)&&this.et(t),this.h[t]},i.dt=function(t,n,i){return void 0===i&&(i=!1),m(this.h,t)?this.it.has(t)?this.vt(t,n):i?Reflect.set(this.h,t,n):(this.h[t]=n,!0):this.s(t,{value:n,enumerable:!0,writable:!0,configurable:!0},this.un,i)},i.et=function(t){if(!di.trackingDerivation)return t in this.h;this.fn||(this.fn=new Map);var n=this.fn.get(t);return n||(n=new ri(t in this.h,R,this.l+"."+y(t)+"?",!1),this.fn.set(t,n)),n.get()},i.o=function(t,n){!0===n&&(n=this.an(t)),!1!==n&&n.o(this,t)},i.s=function(t,n,i,r){if(void 0===r&&(r=!1),!0===i&&(i=jn(n,this.un,this.on)),!1===i)return this.v(t,n,r);var e=i.s(this,t,n,r);return e&&fn(this,i,t),e},i.an=function(t){var i,r=null==(i=this.h[Fi])?void 0:i[t];if(r)return r;for(var e=this.h;e&&e!==_n;){var u=An(e,t);if(u){r=jn(u,this.un,this.on);break}e=Object.getPrototypeOf(e)}if(void 0===r&&n(1,"true",t),!this.m){var o=Object.getPrototypeOf(this.h);m(o,Fi)||c(o,Fi,{}),o[Fi][t]=r}return r},i.v=function(t,n,i){void 0===i&&(i=!1);try{lt();var r=this.Xt(t);if(!r)return r;if(Wt(this)){var e=zt(this,{object:this.p||this.h,name:t,type:Ii,newValue:n.value});if(!e)return null;var u=e.newValue;n.value!==u&&(n=O({},n,{value:u}))}if(i){if(!Reflect.defineProperty(this.h,t,n))return!1}else gn(this.h,t,n);this.cn(t,n.value)}finally{dt()}return!0},i.O=function(t,n,i,r){void 0===r&&(r=!1);try{lt();var e=this.Xt(t);if(!e)return e;if(Wt(this)){var u=zt(this,{object:this.p||this.h,name:t,type:Ii,newValue:n});if(!u)return null;n=u.newValue}var o=on(t),s={configurable:this.m,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,t,s))return!1}else gn(this.h,t,s);var f=new ri(n,i,this.l+"."+y(t),!1);this.it.set(t,f),this.cn(t,f.wt)}finally{dt()}return!0},i.j=function(t,n,i){void 0===i&&(i=!1);try{lt();var r=this.Xt(t);if(!r)return r;if(Wt(this)&&!zt(this,{object:this.p||this.h,name:t,type:Ii,newValue:void 0}))return null;n.name||(n.name=this.l+"."+y(t)),n.context=this.p||this.h;var e=on(t),u={configurable:this.m,enumerable:!1,get:e.get,set:e.set};if(i){if(!Reflect.defineProperty(this.h,t,u))return!1}else gn(this.h,t,u);this.it.set(t,new si(n)),this.cn(t,void 0)}finally{dt()}return!0},i.Xt=function(t,n){if(void 0===n&&(n=!1),!m(this.h,t))return!0;if(Wt(this)&&!zt(this,{object:this.p||this.h,name:t,type:"remove"}))return null;try{var i,r;lt();var e,u=$t(this),o=this.it.get(t),s=void 0;if(!o&&u&&(s=null==(e=An(this.h,t))?void 0:e.value),n){if(!Reflect.deleteProperty(this.h,t))return!1}else delete this.h[t];o&&(this.it.delete(t),o instanceof ri&&(s=o.wt),yt(o)),this.bt.reportChanged(),null==(i=this.fn)||null==(r=i.get(t))||r.set(t in this.h),u&&u&&Yt(this,{type:"remove",observableKind:"object",object:this.p||this.h,debugObjectName:this.l,oldValue:s,name:t})}finally{dt()}return!0},i._t=function(t){return Jt(this,t)},i.gt=function(t){return Ft(this,t)},i.cn=function(t,n){var i,r,e=$t(this);e&&e&&Yt(this,e?{type:Ii,observableKind:"object",debugObjectName:this.l,object:this.p||this.h,name:t,newValue:n}:null),null==(i=this.fn)||null==(r=i.get(t))||r.set(!0),this.bt.reportChanged()},i.Ht=function(){return this.bt.reportObserved(),En(this.h)},i.rt=function(){return this.bt.reportObserved(),Object.keys(this.h)},t}(),Ji=v("ObservableObjectAdministration",$i),Yi=0,Qi=function(){};Xi=Qi,Hi=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Xi.prototype,Hi):void 0!==Xi.prototype.__proto__?Xi.prototype.__proto__=Hi:Xi.prototype=Hi;var Zi=function(t){function n(n,i,r,u){var o;void 0===r&&(r="ObservableArray@"+e()),void 0===u&&(u=!1),o=t.call(this)||this;var s=new Ei(r,i,u,!0);if(s.p=g(o),h(g(o),Kn,s),n&&n.length){var f=Q(!0);o.spliceWithArray(0,0,n),Z(f)}return o}A(n,t);var i=n.prototype;return i.concat=function(){this[Kn].at.reportObserved();for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return Array.prototype.concat.apply(this.slice(),n.map((function(t){return en(t)?t.slice():t})))},i[Symbol.iterator]=function(){var t=this,n=0;return pn({next:function(){return n<t.length?{value:t[n++],done:!1}:{done:!0,value:void 0}}})},w(n,[{key:"length",get:function(){return this[Kn].Ut()},set:function(t){this[Kn].Wt(t)}},{key:Symbol.toStringTag,get:function(){return"Array"}}]),n}(Qi);Object.entries(ki).forEach((function(t){var n=t[0];"concat"!==n&&c(Zi.prototype,n,t[1])})),cn(1e3);var tr=_n.toString;["Symbol","Map","Set","Symbol"].forEach((function(t){void 0===i()[t]&&n("MobX requires global '"+t+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:jt,extras:{getDebugName:dn},$mobx:Kn}),t.$mobx=Kn,t.FlowCancellationError=Et,t.ObservableMap=Bi,t.ObservableSet=Ui,t.Reaction=bi,t._allowStateChanges=Y,t._allowStateChangesInsideComputed=Ot,t._allowStateReadsEnd=ft,t._allowStateReadsStart=st,t._autoAction=gi,t._endAction=J,t._getAdministration=ln,t._getGlobalState=function(){return di},t._interceptReads=function(t,n,i){var r;return qi(t)||en(t)||ei(t)?r=ln(t):sn(t)&&(r=ln(t,n)),r.dehancer="function"==typeof n?n:i,function(){r.dehancer=void 0}},t._isComputingDerivation=function(){return null!==di.trackingDerivation},t._resetGlobalState=function(){var t=new hi;for(var n in t)-1===ci.indexOf(n)&&(di[n]=t[n]);di.allowStateChanges=!di.enforceActions},t._startAction=$,t.action=Ai,t.autorun=gt,t.comparer=In,t.computed=Jn,t.configure=function(t){!0===t.isolateGlobalState&&function(){if((di.pendingReactions.length||di.inBatch||di.isRunningReactions)&&n(36),li=!0,vi){var t=i();0==--t.__mobxInstanceCount&&(t.__mobxGlobals=void 0),di=new hi}}();var r,e,u=t.useProxies,o=t.enforceActions;if(void 0!==u&&(di.useProxies="always"===u||"never"!==u&&"undefined"!=typeof Proxy),"ifavailable"===u&&(di.verifyProxies=!0),void 0!==o){var s="always"===o?"always":"observed"===o;di.enforceActions=s,di.allowStateChanges=!0!==s&&"always"!==s}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries"].forEach((function(n){n in t&&(di[n]=!!t[n])})),di.allowStateReads=!di.observableRequiresReaction,t.reactionScheduler&&(r=t.reactionScheduler,e=yi,yi=function(t){return r((function(){return e(t)}))})},t.createAtom=V,t.entries=function(t){return sn(t)?It(t).map((function(n){return[n,t[n]]})):qi(t)?It(t).map((function(n){return[n,t.get(n)]})):Wi(t)?Array.from(t.entries()):en(t)?t.map((function(t,n){return[n,t]})):void n(7)},t.extendObservable=Vt,t.flow=Mi,t.flowResult=function(t){return t},t.get=function(t,i){if(Pt(t,i))return sn(t)?t[Kn].lt(i):qi(t)?t.get(i):en(t)?t[i]:void n(11)},t.getAtom=vn,t.getDebugName=dn,t.getDependencyTree=function(t,n){return Nt(vn(t,n))},t.getObserverTree=function(t,n){return Rt(vn(t,n))},t.has=Pt,t.intercept=function(t,n,i){return o(i)?function(t,n,i){return ln(t,n).gt(i)}(t,n,i):function(t,n){return ln(t).gt(n)}(t,n)},t.isAction=At,t.isBoxedObservable=ei,t.isComputed=function(t){return Kt(t)},t.isComputedProp=function(t,n){return Kt(t,n)},t.isFlowCancellationError=function(t){return t instanceof Et},t.isObservable=Ct,t.isObservableArray=en,t.isObservableMap=qi,t.isObservableObject=sn,t.isObservableProp=function(t,n){return Lt(t,n)},t.isObservableSet=Wi,t.keys=It,t.makeAutoObservable=function(t,n,i){if(a(t))return Vt(t,t,n,i);var r=un(t,i)[Kn];lt();try{if(t[Fi])for(var e in t[Fi])r.o(e,t[Fi][e]);else for(var u,o=((u={})[Kn]=1,u.constructor=1,u),s=function(t){o[t]||(o[t]=1,r.o(t,!n||!(t in n)||n[t]))},f=t;f&&f!==_n;)En(f).forEach(s),f=Object.getPrototypeOf(f)}finally{dt()}return t},t.makeObservable=function(t,n,i){var r=un(t,i)[Kn];lt();try{null!=n||(n=function(t){return m(t,Tn)||c(t,Tn,O({},t[Tn])),t[Tn]}(t)),En(n).forEach((function(t){return r.o(t,n[t])}))}finally{dt()}return t},t.observable=Fn,t.observe=function(t,n,i,r){return o(i)?function(t,n,i,r){return ln(t,n)._t(i,r)}(t,n,i,r):function(t,n,i){return ln(t)._t(n,i)}(t,n,i)},t.onBecomeObserved=St,t.onBecomeUnobserved=xt,t.onReactionError=function(t){return di.globalReactionErrorHandlers.push(t),function(){var n=di.globalReactionErrorHandlers.indexOf(t);n>=0&&di.globalReactionErrorHandlers.splice(n,1)}},t.override=Pn,t.reaction=function(t,n,i){function r(){if(l=!1,!y.Z){var n=!1;y.track((function(){var i=Y(!1,(function(){return t(y)}));n=v||!b(s,i),d=s,s=i})),(v&&i.fireImmediately||!v&&n)&&a(s,d,y),v=!1}}void 0===i&&(i=xn);var u,o,s,f=i.name||"Reaction@"+e(),a=Ai(f,i.onError?(u=i.onError,o=n,function(){try{return o.apply(this,arguments)}catch(t){u.call(this,t)}}):n),c=!i.scheduler&&!i.delay,h=_t(i),v=!0,l=!1,d=void 0,b=i.compareStructural?In.structural:i.equals||In.default,y=new bi(f,(function(){v||c?r():l||(l=!0,h(r))}),i.onError,i.requiresObservable);return y.tt(),y.nt()},t.remove=function(t,i){sn(t)?t[Kn].Xt(i):qi(t)||Wi(t)?t.delete(i):en(t)?("number"!=typeof i&&(i=parseInt(i,10)),t.splice(i,1)):n(9)},t.runInAction=Ot,t.set=function t(i,r,e){if(2!==arguments.length||Wi(i))sn(i)?i[Kn].dt(r,e):qi(i)?i.set(r,e):Wi(i)?i.add(r):en(i)?("number"!=typeof r&&(r=parseInt(r,10)),r<0&&n("Invalid index: '"+r+"'"),lt(),r>=i.length&&(i.length=r+1),i[r]=e,dt()):n(8);else{lt();var u=r;try{for(var o in u)t(i,o,u[o])}finally{dt()}}},t.spy=jt,t.toJS=function(t){return function t(n,i){if(null==n||"object"!=typeof n||n instanceof Date||!Ct(n))return n;if(ei(n))return t(n.get(),i);if(i.has(n))return i.get(n);if(en(n)){var r=Dt(i,n,Array(n.length));return n.forEach((function(n,e){r[e]=t(n,i)})),r}if(Wi(n)){var e=Dt(i,n,new Set);return n.forEach((function(n){e.add(t(n,i))})),e}if(qi(n)){var u=Dt(i,n,new Map);return n.forEach((function(n,r){u.set(r,t(n,i))})),u}It(n);var o=Dt(i,n,{});return b(n).forEach((function(r){o[r]=t(n[r],i)})),o}(t,new Map)},t.trace=Bt,t.transaction=Gt,t.untracked=et,t.values=function(t){return sn(t)?It(t).map((function(n){return t[n]})):qi(t)?It(t).map((function(n){return t.get(n)})):Wi(t)?Array.from(t.values()):en(t)?t.slice():void n(6)},t.when=function(t,n,i){return 1===arguments.length||n&&"object"==typeof n?Ht(t,n):Xt(t,n,i||{})},Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=mobx.umd.production.min.js.map

@@ -1,1 +0,2 @@

export declare function createDynamicObservableObject(base: any): any;
import { IIsObservableObject, CreateObservableOptions } from "../internal";
export declare function asDynamicObservableObject(target: any, options?: CreateObservableOptions): IIsObservableObject;

@@ -1,2 +0,3 @@

import { ComputedValue, IAtom, IComputedValueOptions, IEnhancer, IInterceptable, IListenable, Lambda, ObservableValue } from "../internal";
import { CreateObservableOptions, Annotation, ComputedValue, IAtom, IComputedValueOptions, IEnhancer, IInterceptable, IListenable, Lambda, ObservableValue } from "../internal";
export declare const inferredAnnotationsSymbol: unique symbol;
export declare type IObjectDidChange<T = any> = {

@@ -32,3 +33,4 @@ observableKind: "object";

name_: string;
defaultEnhancer_: IEnhancer<any>;
defaultAnnotation_: Annotation;
autoBind_: boolean;
keysAtom_: IAtom;

@@ -38,14 +40,49 @@ changeListeners_: any;

proxy_: any;
isPlainObject_: boolean;
appliedAnnotations_?: object;
private pendingKeys_;
private keysValue_;
private isStaledKeysValue_;
constructor(target_: any, values_: Map<string | number | symbol, ObservableValue<any> | ComputedValue<any>>, name_: string, defaultEnhancer_: IEnhancer<any>);
read_(key: PropertyKey): any;
write_(key: PropertyKey, newValue: any): void;
has_(key: PropertyKey): any;
addObservableProp_(propName: PropertyKey, newValue: any, enhancer?: IEnhancer<any>): void;
addComputedProp_(propertyOwner: any, // where is the property declared?
propName: PropertyKey, options: IComputedValueOptions<any>): void;
remove_(key: PropertyKey): void;
constructor(target_: any, values_: Map<string | number | symbol, ObservableValue<any> | ComputedValue<any>>, name_: string, defaultAnnotation_?: Annotation, autoBind_?: boolean);
getObservablePropValue_(key: PropertyKey): any;
setObservablePropValue_(key: PropertyKey, newValue: any): boolean | null;
get_(key: PropertyKey): any;
/**
* @param {PropertyKey} key
* @param {any} value
* @param {Annotation|boolean} annotation true - infer from descriptor, false - copy as is
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
set_(key: PropertyKey, value: any, proxyTrap?: boolean): boolean | null;
has_(key: PropertyKey): boolean;
/**
* @param {PropertyKey} key
* @param {Annotation|boolean} annotation true - infer from object or it's prototype, false - ignore
*/
make_(key: PropertyKey, annotation: Annotation | boolean): void;
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {Annotation|boolean} annotation true - infer from descriptor, false - copy as is
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
extend_(key: PropertyKey, descriptor: PropertyDescriptor, annotation: Annotation | boolean, proxyTrap?: boolean): boolean | null;
inferAnnotation_(key: PropertyKey): Annotation | false;
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
defineProperty_(key: PropertyKey, descriptor: PropertyDescriptor, proxyTrap?: boolean): boolean | null;
defineObservableProperty_(key: PropertyKey, value: any, enhancer: IEnhancer<any>, proxyTrap?: boolean): boolean | null;
defineComputedProperty_(key: PropertyKey, options: IComputedValueOptions<any>, proxyTrap?: boolean): boolean | null;
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
delete_(key: PropertyKey, proxyTrap?: boolean): boolean | null;
/**
* Observes this object. Triggers for the events 'add', 'update' and 'delete'.

@@ -57,5 +94,5 @@ * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe

intercept_(handler: any): Lambda;
notifyPropertyAddition_(key: PropertyKey, newValue: any): void;
getKeys_(): PropertyKey[];
private reportKeysChanged;
notifyPropertyAddition_(key: PropertyKey, value: any): void;
ownKeys_(): PropertyKey[];
keys_(): PropertyKey[];
}

@@ -65,5 +102,4 @@ export interface IIsObservableObject {

}
export declare function asObservableObject(target: any, name?: PropertyKey, defaultEnhancer?: IEnhancer<any>): ObservableObjectAdministration;
export declare function generateObservablePropConfig(propName: any): any;
export declare function generateComputedPropConfig(propName: any): any;
export declare function asObservableObject(target: any, options?: CreateObservableOptions): IIsObservableObject;
export declare function isObservableObject(thing: any): boolean;
export declare function recordAnnotationApplied(adm: ObservableObjectAdministration, annotation: Annotation, key: PropertyKey): void;

@@ -32,3 +32,2 @@ export declare const assign: {

export declare function addHiddenFinalProp(object: any, propName: PropertyKey, value: any): void;
export declare function assertPropertyConfigurable(object: any, prop: PropertyKey): void;
export declare function createInstanceofPredicate<T>(name: string, theClass: new (...args: any[]) => T): (x: any) => x is T;

@@ -38,3 +37,3 @@ export declare function isES6Map(thing: any): boolean;

/**
* Returns the following: own keys, prototype keys & own symbol keys, if they are enumerable.
* Returns the following: own enumerable keys and symbols.
*/

@@ -41,0 +40,0 @@ export declare function getPlainObjectKeys(object: any): (string | symbol)[];

{
"name": "mobx",
"version": "6.0.5",
"version": "6.1.0",
"description": "Simple, scalable state management.",

@@ -69,2 +69,4 @@ "source": "src/mobx.ts",

"perf": "scripts/perf.sh",
"perf-legacy": "node --expose-gc ./__tests__/perf/index.js legacy",
"perf-proxy": "node --expose-gc ./__tests__/perf/index.js proxy",
"test:performance": "yarn perf proxy && yarn perf legacy",

@@ -71,0 +73,0 @@ "test:mixed-versions": "yarn test --testRegex mixed-versions",

@@ -1,2 +0,2 @@

<img src="https://mobx.js.org/docs/assets/mobx.png" alt="logo" height="120" align="right" />
<img src="https://mobx.js.org/assets/mobx.png" alt="logo" height="120" align="right" />

@@ -21,23 +21,23 @@ # MobX

**🥇Gold sponsors (\$3000+ total contribution):** <br/>
<a href="https://mendix.com/"><img src="https://mobx.js.org/docs/assets/mendix-logo.png" align="center" width="100" title="Mendix" alt="Mendix" /></a>
<a href="https://frontendmasters.com/"><img src="https://mobx.js.org/docs/assets/frontendmasters.jpg" align="center" width="100" title="Frontend Masters" alt="Frontend Masters"></a>
<a href="https://opensource.facebook.com/"><img src="https://mobx.js.org/docs/assets/fbos.jpeg" align="center" width="100" title="Facebook Open Source" alt="Facebook Open Source" /></a>
<a href="http://auctionfrontier.com/"><img src="https://mobx.js.org/docs/assets/auctionfrontier.jpeg" align="center" width="100" title="Auction Frontier" alt="Auction Frontier"></a>
<a href="https://www.guilded.gg/"><img src="https://mobx.js.org/docs/assets/guilded.jpg" align="center" width="100" title="Guilded" alt="Guilded" /></a>
<a href="https://coinbase.com/"><img src="https://mobx.js.org/docs/assets/coinbase.jpeg" align="center" width="100" title="Coinbase" alt="Coinbase" /></a>
<a href="https://www.canva.com/"><img src="https://mobx.js.org/docs/assets/canva.png" align="center" width="100" title="Canva" alt="Canva" /></a>
<a href="https://mendix.com/"><img src="https://mobx.js.org/assets/mendix-logo.png" align="center" width="100" title="Mendix" alt="Mendix" /></a>
<a href="https://frontendmasters.com/"><img src="https://mobx.js.org/assets/frontendmasters.jpg" align="center" width="100" title="Frontend Masters" alt="Frontend Masters"></a>
<a href="https://opensource.facebook.com/"><img src="https://mobx.js.org/assets/fbos.jpeg" align="center" width="100" title="Facebook Open Source" alt="Facebook Open Source" /></a>
<a href="http://auctionfrontier.com/"><img src="https://mobx.js.org/assets/auctionfrontier.jpeg" align="center" width="100" title="Auction Frontier" alt="Auction Frontier"></a>
<a href="https://www.guilded.gg/"><img src="https://mobx.js.org/assets/guilded.jpg" align="center" width="100" title="Guilded" alt="Guilded" /></a>
<a href="https://coinbase.com/"><img src="https://mobx.js.org/assets/coinbase.jpeg" align="center" width="100" title="Coinbase" alt="Coinbase" /></a>
<a href="https://www.canva.com/"><img src="https://mobx.js.org/assets/canva.png" align="center" width="100" title="Canva" alt="Canva" /></a>
**🥈Silver sponsors (\$100+ pm):**<br/>
<a href="https://www.codefirst.co.uk/"><img src="https://mobx.js.org/docs/assets/codefirst.png" align="center" width="100" title="CodeFirst" alt="CodeFirst"/></a>
<a href="https://www.dcslsoftware.com/"><img src="https://mobx.js.org/docs/assets/dcsl.png" align="center" width="100" title="DCSL Software" alt="DCSL Software"/></a>
<a href="https://www.bugsnag.com/platforms/react-error-reporting?utm_source=MobX&utm_medium=Website&utm_content=open-source&utm_campaign=2019-community&utm_term=20190913"><img src="https://mobx.js.org/docs/assets/bugsnag.jpg" align="center" width="100" title="Bugsnag" alt="Bugsnag"/></a>
<a href="https://curology.com/blog/tech"><img src="https://mobx.js.org/docs/assets/curology.png" align="center" width="100" title="Curology" alt="Curology"/></a>
<a href="https://modulz.app/"><img src="https://mobx.js.org/docs/assets/modulz.png" align="center" width="100" title="Modulz" alt="Modulz"/></a>
<a href="https://www.codefirst.co.uk/"><img src="https://mobx.js.org/assets/codefirst.png" align="center" width="100" title="CodeFirst" alt="CodeFirst"/></a>
<a href="https://www.dcslsoftware.com/"><img src="https://mobx.js.org/assets/dcsl.png" align="center" width="100" title="DCSL Software" alt="DCSL Software"/></a>
<a href="https://www.bugsnag.com/platforms/react-error-reporting?utm_source=MobX&utm_medium=Website&utm_content=open-source&utm_campaign=2019-community&utm_term=20190913"><img src="https://mobx.js.org/assets/bugsnag.jpg" align="center" width="100" title="Bugsnag" alt="Bugsnag"/></a>
<a href="https://curology.com/blog/tech"><img src="https://mobx.js.org/assets/curology.png" align="center" width="100" title="Curology" alt="Curology"/></a>
<a href="https://modulz.app/"><img src="https://mobx.js.org/assets/modulz.png" align="center" width="100" title="Modulz" alt="Modulz"/></a>
**🥉Bronze sponsors (\$500+ total contributions):**<br/>
<a href="https://mantro.net/jobs/warlock"><img src="https://mobx.js.org/docs/assets/mantro.png" align="center" width="100" title="mantro GmbH" alt="mantro GmbH"></a>
<a href="https://www.algolia.com/"><img src="https://mobx.js.org/docs/assets/algolia.jpg" align="center" width="100" title="Algolia" alt="Algolia" /></a>
<a href="https://talentplot.com/"><img src="https://mobx.js.org/docs/assets/talentplot.png" align="center" width="100" title="talentplot" alt="talentplot"></a>
<a href="https://careers.dazn.com/"><img src="https://mobx.js.org/docs/assets/dazn.png" align="center" width="100" title="DAZN" alt="DAZN"></a>
<a href="https://blokt.com/"><img src="https://mobx.js.org/docs/assets/blokt.jpg" align="center" width="100" title="Blokt" alt="Blokt"/></a>
<a href="https://mantro.net/jobs/warlock"><img src="https://mobx.js.org/assets/mantro.png" align="center" width="100" title="mantro GmbH" alt="mantro GmbH"></a>
<a href="https://www.algolia.com/"><img src="https://mobx.js.org/assets/algolia.jpg" align="center" width="100" title="Algolia" alt="Algolia" /></a>
<a href="https://talentplot.com/"><img src="https://mobx.js.org/assets/talentplot.png" align="center" width="100" title="talentplot" alt="talentplot"></a>
<a href="https://careers.dazn.com/"><img src="https://mobx.js.org/assets/dazn.png" align="center" width="100" title="DAZN" alt="DAZN"></a>
<a href="https://blokt.com/"><img src="https://mobx.js.org/assets/blokt.jpg" align="center" width="100" title="Blokt" alt="Blokt"/></a>

@@ -135,3 +135,3 @@ ---

<img alt="MobX unidirectional flow" src="https://mobx.js.org/docs/assets/flow2.png" align="center" />
<img alt="MobX unidirectional flow" src="https://mobx.js.org/assets/flow2.png" align="center" />

@@ -165,3 +165,3 @@ This conceptual picture can be applied to the above example, or any other application using MobX.

[<img src="https://mobx.js.org/docs/assets/book.jpg" height="80px"/> ](https://books.google.nl/books?id=ALFmDwAAQBAJ&pg=PP1&lpg=PP1&dq=michel+weststrate+mobx+quick+start+guide:+supercharge+the+client+state+in+your+react+apps+with+mobx&source=bl&ots=D460fxti0F&sig=ivDGTxsPNwlOjLHrpKF1nweZFl8&hl=nl&sa=X&ved=2ahUKEwiwl8XO--ncAhWPmbQKHWOYBqIQ6AEwAnoECAkQAQ#v=onepage&q=michel%20weststrate%20mobx%20quick%20start%20guide%3A%20supercharge%20the%20client%20state%20in%20your%20react%20apps%20with%20mobx&f=false)
[<img src="https://mobx.js.org/assets/book.jpg" height="80px"/> ](https://books.google.nl/books?id=ALFmDwAAQBAJ&pg=PP1&lpg=PP1&dq=michel+weststrate+mobx+quick+start+guide:+supercharge+the+client+state+in+your+react+apps+with+mobx&source=bl&ots=D460fxti0F&sig=ivDGTxsPNwlOjLHrpKF1nweZFl8&hl=nl&sa=X&ved=2ahUKEwiwl8XO--ncAhWPmbQKHWOYBqIQ6AEwAnoECAkQAQ#v=onepage&q=michel%20weststrate%20mobx%20quick%20start%20guide%3A%20supercharge%20the%20client%20state%20in%20your%20react%20apps%20with%20mobx&f=false)

@@ -168,0 +168,0 @@ Created by [Pavan Podila](https://twitter.com/pavanpodila) and [Michel Weststrate](https://twitter.com/mweststrate).

@@ -5,8 +5,8 @@ import {

Annotation,
createDecorator,
createDecoratorAndAnnotation,
storeDecorator,
storeAnnotation,
die,
isFunction,
isStringish
isStringish,
createDecoratorAnnotation,
createActionAnnotation
} from "../internal"

@@ -19,4 +19,16 @@

const ACTION_UNNAMED = "<unnamed action>"
const DEFAULT_ACTION_NAME = "<unnamed action>"
const actionAnnotation = createActionAnnotation(ACTION)
const actionBoundAnnotation = createActionAnnotation(ACTION_BOUND, {
bound: true
})
const autoActionAnnotation = createActionAnnotation(AUTOACTION, {
autoAction: true
})
const autoActionBoundAnnotation = createActionAnnotation(AUTOACTION_BOUND, {
autoAction: true,
bound: true
})
export interface IActionFactory extends Annotation, PropertyDecorator {

@@ -31,17 +43,11 @@ // nameless actions

// (named?) decorator
bound: IBoundActionFactory
// decorator (name no longer supported)
bound: Annotation & PropertyDecorator
}
interface IBoundActionFactory extends Annotation, PropertyDecorator {
(name: string): Annotation & PropertyDecorator
}
function createActionFactory(
autoAction: boolean,
annotation: Annotation["annotationType_"]
): IActionFactory {
function createActionFactory(autoAction: boolean): IActionFactory {
const res: IActionFactory = function action(arg1, arg2?): any {
// action(fn() {})
if (isFunction(arg1)) return createAction(arg1.name || ACTION_UNNAMED, arg1, autoAction)
if (isFunction(arg1))
return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction)
// action("name", fn() {})

@@ -51,23 +57,29 @@ if (isFunction(arg2)) return createAction(arg1, arg2, autoAction)

if (isStringish(arg2)) {
return storeDecorator(arg1, arg2, annotation)
return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation)
}
// Annation: action("name") & @action("name")
// action("name") & @action("name")
if (isStringish(arg1)) {
return createDecoratorAndAnnotation(annotation, arg1)
return createDecoratorAnnotation(
createActionAnnotation(autoAction ? AUTOACTION : ACTION, {
name: arg1,
autoAction
})
)
}
if (__DEV__) die("Invalid arguments for `action`")
} as any
res.annotationType_ = annotation
} as IActionFactory
return res
}
export const action: IActionFactory = createActionFactory(false, ACTION)
export const autoAction: IActionFactory = createActionFactory(true, AUTOACTION)
export const action: IActionFactory = createActionFactory(false)
Object.assign(action, actionAnnotation)
export const autoAction: IActionFactory = createActionFactory(true)
Object.assign(autoAction, autoActionAnnotation)
action.bound = createDecorator<string>(ACTION_BOUND)
autoAction.bound = createDecorator<string>(AUTOACTION_BOUND)
action.bound = createDecoratorAnnotation(actionBoundAnnotation)
autoAction.bound = createDecoratorAnnotation(autoActionBoundAnnotation)
export function runInAction<T>(fn: () => T): T {
return executeAction(fn.name || ACTION_UNNAMED, false, fn, this, undefined)
return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined)
}

@@ -74,0 +86,0 @@

@@ -0,15 +1,23 @@

import {
ObservableObjectAdministration,
isGenerator,
isFunction,
autoAction,
isAction,
flow,
computed,
isFlow
} from "../internal"
export type Annotation = {
annotationType_:
| "observable"
| "observable.ref"
| "observable.shallow"
| "observable.struct"
| "computed"
| "computed.struct"
| "action"
| "action.bound"
| "autoAction"
| "autoAction.bound"
| "flow"
arg_?: any
annotationType_: string
make_(adm: ObservableObjectAdministration, key: PropertyKey): void
extend_(
adm: ObservableObjectAdministration,
key: PropertyKey,
descriptor: PropertyDescriptor,
proxyTrap: boolean
): boolean | null
options_?: any
isDecorator_?: boolean
}

@@ -28,1 +36,46 @@

Record<AdditionalFields, AnnotationMapEntry>
/**
* Infers the best fitting annotation from property descriptor or false if the field shoudn't be annotated
* - getter(+setter) -> computed
* - setter w/o getter -> false (ignore)
* - flow -> false (ignore)
* - generator -> flow
* - action -> false (ignore)
* - function -> action (optionally bound)
* - other -> defaultAnnotation
*/
export function inferAnnotationFromDescriptor(
desc: PropertyDescriptor,
defaultAnnotation: Annotation,
autoBind: boolean
): Annotation | false {
if (desc.get) return computed
if (desc.set) return false // ignore lone setter
// If already wrapped in action/flow, don't do that another time, but assume it is already set up properly.
return isFunction(desc.value)
? isGenerator(desc.value)
? isFlow(desc.value)
? false
: flow
: isAction(desc.value)
? false
: autoBind
? autoAction.bound
: autoAction
: defaultAnnotation
}
export function isAnnotation(thing: any) {
return (
// Can be function
thing instanceof Object &&
typeof thing.annotationType_ === "string" &&
isFunction(thing.make_) &&
isFunction(thing.extend_)
)
}
export function isAnnotationMapEntry(thing: any) {
return typeof thing === "boolean" || isAnnotation(thing)
}

@@ -5,10 +5,11 @@ import {

Annotation,
storeDecorator,
createDecoratorAndAnnotation,
storeAnnotation,
createDecoratorAnnotation,
isStringish,
isPlainObject,
isFunction,
assign,
die,
IComputedValue
IComputedValue,
createComputedAnnotation,
comparer
} from "../internal"

@@ -28,2 +29,7 @@

const computedAnnotation = createComputedAnnotation(COMPUTED)
const computedStructAnnotation = createComputedAnnotation(COMPUTED_STRUCT, {
equals: comparer.structural
})
/**

@@ -33,10 +39,10 @@ * Decorator for class properties: @computed get value() { return expr; }.

*/
export const computed: IComputedFactory = function computed(arg1, arg2, arg3) {
export const computed: IComputedFactory = function computed(arg1, arg2) {
if (isStringish(arg2)) {
// @computed
return storeDecorator(arg1, arg2, COMPUTED)
return storeAnnotation(arg1, arg2, computedAnnotation)
}
if (isPlainObject(arg1)) {
// @computed({ options })
return createDecoratorAndAnnotation(COMPUTED, arg1)
return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1))
}

@@ -49,3 +55,3 @@

die(
"A setter as second argument is no longer supported, use `{set: fn }` option instead"
"A setter as second argument is no longer supported, use `{ set: fn }` option instead"
)

@@ -59,11 +65,5 @@ }

} as any
computed.annotationType_ = COMPUTED
computed.struct = assign(
function (target, property) {
storeDecorator(target, property, COMPUTED_STRUCT)
},
{
annotationType_: COMPUTED_STRUCT
} as const
)
Object.assign(computed, computedAnnotation)
computed.struct = createDecoratorAnnotation(computedStructAnnotation)

@@ -1,94 +0,76 @@

import {
Annotation,
addHiddenProp,
AnnotationsMap,
makeObservable,
assign,
getDescriptor,
hasProp,
objectPrototype
} from "../internal"
import { Annotation, addHiddenProp, AnnotationsMap, hasProp, die, isOverride } from "../internal"
export const mobxDecoratorsSymbol = Symbol("mobx-decorators")
const mobxAppliedDecoratorsSymbol = Symbol("mobx-applied-decorators")
export const storedAnnotationsSymbol = Symbol("mobx-stored-annotations")
export function createDecorator<ArgType>(
type: Annotation["annotationType_"]
): Annotation & PropertyDecorator & ((arg: ArgType) => PropertyDecorator & Annotation) {
return assign(
function (target: any, property?: PropertyKey): any {
if (property === undefined) {
// @decorator(arg) member
createDecoratorAndAnnotation(type, target)
} else {
// @decorator member
storeDecorator(target, property!, type)
}
},
{
annotationType_: type
}
) as any
/**
* Creates a function that acts as
* - decorator
* - annotation object
*/
export function createDecoratorAnnotation(annotation: Annotation): PropertyDecorator & Annotation {
function decorator(target, property) {
storeAnnotation(target, property, annotation)
}
return Object.assign(decorator, annotation)
}
export function createDecoratorAndAnnotation(
type: Annotation["annotationType_"],
arg_?: any
): PropertyDecorator & Annotation {
return assign(
function (target, property) {
storeDecorator(target, property, type, arg_)
},
{
annotationType_: type,
arg_
/**
* Stores annotation to prototype,
* so it can be inspected later by `makeObservable` called from constructor
*/
export function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation) {
if (!hasProp(prototype, storedAnnotationsSymbol)) {
addHiddenProp(prototype, storedAnnotationsSymbol, {
// Inherit annotations
...prototype[storedAnnotationsSymbol]
})
}
// @override must override something
if (__DEV__ && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {
const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`
die(
`'${fieldName}' is decorated with 'override', ` +
`but no such decorated member was found on prototype.`
)
}
// Cannot re-decorate
assertNotDecorated(prototype, annotation, key)
// Ignore override
if (!isOverride(annotation)) {
prototype[storedAnnotationsSymbol][key] = {
...annotation,
isDecorator_: true
}
)
}
}
export function storeDecorator(
target: any,
property: PropertyKey,
type: Annotation["annotationType_"],
arg_?: any
) {
const desc = getDescriptor(target, mobxDecoratorsSymbol)
let map: any
if (desc) {
map = desc.value
} else {
map = {}
addHiddenProp(target, mobxDecoratorsSymbol, map)
function assertNotDecorated(prototype: object, annotation: Annotation, key: PropertyKey) {
if (__DEV__ && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {
const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`
const currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_
const requestedAnnotationType = annotation.annotationType_
die(
`Cannot apply '@${requestedAnnotationType}' to '${fieldName}':` +
`\nThe field is already decorated with '@${currentAnnotationType}'.` +
`\nRe-decorating fields is not allowed.` +
`\nUse '@override' decorator for methods overriden by subclass.`
)
}
map[property] = { annotationType_: type, arg_ } as Annotation
}
export function applyDecorators(target: Object): boolean {
if (target[mobxAppliedDecoratorsSymbol]) return true
let current = target
// optimization: this could be cached per prototype!
// (then we can remove the weird short circuiting as well..)
let annotations: AnnotationsMap<any, any>[] = []
while (current && current !== objectPrototype) {
const desc = getDescriptor(current, mobxDecoratorsSymbol)
if (desc) {
if (!annotations.length) {
for (let key in desc.value) {
// second conditions is to recognize actions
if (!hasProp(target, key) && !hasProp(current, key)) {
// not all fields are defined yet, so we are in the makeObservable call of some super class,
// short circuit, here, we will do this again in a later makeObservable call
return true
}
}
}
annotations.unshift(desc.value)
/**
* Collects annotations from prototypes and stores them on target (instance)
*/
export function collectStoredAnnotations(target): AnnotationsMap<any, any> {
if (!hasProp(target, storedAnnotationsSymbol)) {
if (__DEV__ && !target[storedAnnotationsSymbol]) {
die(
`No annotations were passed to makeObservable, but no decorated members have been found either`
)
}
current = Object.getPrototypeOf(current)
// We need a copy as we will remove annotation from the list once it's applied.
addHiddenProp(target, storedAnnotationsSymbol, { ...target[storedAnnotationsSymbol] })
}
annotations.forEach(a => {
makeObservable(target, a)
})
addHiddenProp(target, mobxAppliedDecoratorsSymbol, true)
return annotations.length > 0
return target[storedAnnotationsSymbol]
}

@@ -5,3 +5,2 @@ import {

AnnotationsMap,
makeProperty,
startBatch,

@@ -11,8 +10,8 @@ endBatch,

isPlainObject,
asCreateObservableOptions,
getEnhancerFromOption,
ObservableObjectAdministration,
isObservable,
getPlainObjectKeys,
die,
getOwnPropertyDescriptors
getOwnPropertyDescriptors,
$mobx,
ownKeys
} from "../internal"

@@ -37,16 +36,14 @@

}
const o = asCreateObservableOptions(options)
const adm = asObservableObject(target, o.name, getEnhancerFromOption(o))
// Pull descriptors first, so we don't have to deal with props added by administration ($mobx)
const descriptors = getOwnPropertyDescriptors(properties)
const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]
startBatch()
try {
const descs = getOwnPropertyDescriptors(properties)
getPlainObjectKeys(descs).forEach(key => {
makeProperty(
adm,
target,
ownKeys(descriptors).forEach(key => {
adm.extend_(
key,
descs[key as any],
!annotations ? true : key in annotations ? annotations[key] : true,
true,
!!options?.autoBind
descriptors[key as any],
// must pass "undefined" for { key: undefined }
!annotations ? true : key in annotations ? annotations[key] : true
)

@@ -53,0 +50,0 @@ })

@@ -1,2 +0,11 @@

import { action, noop, die, isFunction, Annotation, isStringish, storeDecorator } from "../internal"
import {
action,
noop,
die,
isFunction,
Annotation,
isStringish,
storeAnnotation,
createFlowAnnotation
} from "../internal"

@@ -24,2 +33,4 @@ export const FLOW = "flow"

const flowAnnotation = createFlowAnnotation("flow")
export const flow: Flow = Object.assign(

@@ -29,7 +40,7 @@ function flow(arg1, arg2?) {

if (isStringish(arg2)) {
return storeDecorator(arg1, arg2, "flow")
return storeAnnotation(arg1, arg2, flowAnnotation)
}
// flow(fn)
if (__DEV__ && arguments.length !== 1)
die(`Flow expects 1 argument and cannot be used as decorator`)
die(`Flow expects single argument with generator function`)
const generator = arg1

@@ -114,5 +125,3 @@ const name = generator.name || "<unnamed flow>"

} as any,
{
annotationType_: "flow" as const
}
flowAnnotation
)

@@ -119,0 +128,0 @@

@@ -39,4 +39,4 @@ import {

): Lambda
export function intercept(object: Object, handler: IInterceptor<IObjectWillChange>): Lambda
export function intercept<T extends Object, K extends keyof T>(
export function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda
export function intercept<T extends object, K extends keyof T>(
object: T,

@@ -43,0 +43,0 @@ property: K,

import {
$mobx,
asObservableObject,
addHiddenProp,
action,
autoAction,
isAction,
computed,
observable,
AnnotationsMap,
Annotation,
getEnhancerFromAnnotation,
endBatch,

@@ -16,169 +9,12 @@ startBatch,

ObservableObjectAdministration,
applyDecorators,
isObservableProp,
getDescriptor,
collectStoredAnnotations,
isPlainObject,
isObservableObject,
isFunction,
die,
ACTION,
ACTION_BOUND,
AUTOACTION,
AUTOACTION_BOUND,
COMPUTED,
COMPUTED_STRUCT,
OBSERVABLE,
OBSERVABLE_REF,
OBSERVABLE_SHALLOW,
OBSERVABLE_STRUCT,
getOwnPropertyDescriptors,
defineProperty,
ownKeys,
objectPrototype,
hasProp,
FLOW,
flow,
isGenerator,
isFlow
inferredAnnotationsSymbol,
extendObservable
} from "../internal"
const CACHED_ANNOTATIONS = Symbol("mobx-cached-annotations")
function makeAction(target, key, name, fn, asAutoAction) {
addHiddenProp(target, key, asAutoAction ? autoAction(name || key, fn) : action(name || key, fn))
}
function getInferredAnnotation(
desc: PropertyDescriptor,
defaultAnnotation: Annotation | undefined,
autoBind: boolean
): Annotation | boolean {
if (desc.get) return computed
if (desc.set) return false // ignore pure setters
// if already wrapped in action, don't do that another time, but assume it is already set up properly
if (isFunction(desc.value))
return isGenerator(desc.value)
? flow
: isAction(desc.value)
? false
: autoBind
? autoAction.bound
: autoAction
// if (!desc.configurable || !desc.writable) return false
return defaultAnnotation ?? observable.deep
}
function getDescriptorInChain(target: Object, prop: PropertyKey): [PropertyDescriptor, Object] {
let current = target
while (current && current !== objectPrototype) {
// Optimization: cache meta data, especially for members from prototypes?
const desc = getDescriptor(current, prop)
if (desc) {
return [desc, current]
}
current = Object.getPrototypeOf(current)
}
die(1, prop)
}
export function makeProperty(
adm: ObservableObjectAdministration,
owner: Object,
key: PropertyKey,
descriptor: PropertyDescriptor,
annotation: Annotation | boolean,
forceCopy: boolean, // extend observable will copy even unannotated properties
autoBind: boolean
): void {
const { target_: target } = adm
const defaultAnnotation: Annotation | undefined = observable // ideally grap this from adm's defaultEnahncer instead!
const originAnnotation = annotation
if (annotation === true) {
annotation = getInferredAnnotation(descriptor, defaultAnnotation, autoBind)
}
if (annotation === false) {
if (forceCopy) {
defineProperty(target, key, descriptor)
}
return
}
if (!annotation || annotation === true || !annotation.annotationType_) {
return die(2, key)
}
const type = annotation.annotationType_
switch (type) {
case AUTOACTION:
case ACTION: {
const fn = descriptor.value
if (!isFunction(fn)) die(3, key)
if (owner !== target && !forceCopy) {
if (!isAction(owner[key]))
makeAction(owner, key, annotation.arg_, fn, type === AUTOACTION)
} else {
makeAction(target, key, annotation.arg_, fn, type === AUTOACTION)
}
break
}
case AUTOACTION_BOUND:
case ACTION_BOUND: {
const fn = descriptor.value
if (!isFunction(fn)) die(3, key)
makeAction(
target,
key,
annotation.arg_,
fn.bind(adm.proxy_ || target),
type === AUTOACTION_BOUND
)
break
}
case FLOW: {
if (owner !== target && !forceCopy) {
if (!isFlow(owner[key])) addHiddenProp(owner, key, flow(descriptor.value!))
} else {
addHiddenProp(target, key, flow(descriptor.value))
}
break
}
case COMPUTED:
case COMPUTED_STRUCT: {
if (!descriptor.get) die(4, key)
adm.addComputedProp_(target, key, {
get: descriptor.get,
set: descriptor.set,
compareStructural: annotation.annotationType_ === COMPUTED_STRUCT,
...annotation.arg_
})
break
}
case OBSERVABLE:
case OBSERVABLE_REF:
case OBSERVABLE_SHALLOW:
case OBSERVABLE_STRUCT: {
if (__DEV__ && isObservableProp(target, key as any))
die(
`Cannot decorate '${key.toString()}': the property is already decorated as observable.`
)
if (__DEV__ && !("value" in descriptor))
die(
`Cannot decorate '${key.toString()}': observable cannot be used on setter / getter properties.`
)
// if the originAnnotation was true, preferred the adm's default enhancer over the inferred one
const enhancer =
originAnnotation === true
? adm.defaultEnhancer_
: getEnhancerFromAnnotation(annotation)
adm.addObservableProp_(key, descriptor.value, enhancer)
break
}
default:
if (__DEV__)
die(
`invalid decorator '${
annotation.annotationType_ ?? annotation
}' for '${key.toString()}'`
)
}
}
// Hack based on https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-322267089

@@ -191,3 +27,3 @@ // We need this, because otherwise, AdditionalKeys is going to be inferred to be any

export function makeObservable<T, AdditionalKeys extends PropertyKey = never>(
export function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(
target: T,

@@ -197,24 +33,10 @@ annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,

): T {
const autoBind = !!options?.autoBind
const adm = asObservableObject(
target,
options?.name,
getEnhancerFromAnnotation(options?.defaultDecorator)
)
const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]
startBatch()
try {
if (!annotations) {
const didDecorate = applyDecorators(target)
if (__DEV__ && !didDecorate)
die(
`No annotations were passed to makeObservable, but no decorator members have been found either`
)
return target
}
const make = key => {
let annotation = annotations[key]
const [desc, owner] = getDescriptorInChain(target, key)
makeProperty(adm, owner, key, desc, annotation, false, autoBind)
}
ownKeys(annotations).forEach(make)
// Default to decorators
annotations ??= collectStoredAnnotations(target)
// Annotate
ownKeys(annotations).forEach(key => adm.make_(key, annotations![key]))
} finally {

@@ -226,3 +48,3 @@ endBatch()

export function makeAutoObservable<T extends Object, AdditionalKeys extends PropertyKey = never>(
export function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(
target: T,

@@ -232,6 +54,4 @@ overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,

): T {
const proto = Object.getPrototypeOf(target)
const isPlain = proto == null || proto === objectPrototype
if (__DEV__) {
if (!isPlain && !isPlainObject(proto))
if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target)))
die(`'makeAutoObservable' can only be used for classes that don't have a superclass`)

@@ -241,53 +61,37 @@ if (isObservableObject(target))

}
let annotations: AnnotationsMap<any, any>
if (!isPlain && hasProp(proto, CACHED_ANNOTATIONS)) {
// shortcut, reuse inferred annotations for this type from the previous time
annotations = proto[CACHED_ANNOTATIONS] as any
} else {
annotations = { ...overrides }
extractAnnotationsFromObject(target, annotations, options)
if (!isPlain) {
extractAnnotationsFromProto(proto, annotations, options)
addHiddenProp(proto, CACHED_ANNOTATIONS, annotations)
// Optimization (avoids visiting protos)
// assumes that annotation.make_/.extend_ works the same for plain objects
if (isPlainObject(target)) {
return extendObservable(target, target, overrides, options)
}
const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]
startBatch()
try {
if (target[inferredAnnotationsSymbol]) {
for (let key in target[inferredAnnotationsSymbol]) {
adm.make_(key, target[inferredAnnotationsSymbol][key])
}
} else {
const ignoreKeys = { [$mobx]: 1, constructor: 1 }
const make = key => {
if (ignoreKeys[key]) return
ignoreKeys[key] = 1
adm.make_(
key,
// must pass "undefined" for { key: undefined }
!overrides ? true : key in overrides ? overrides[key] : true
)
}
let current = target
while (current && current !== objectPrototype) {
ownKeys(current).forEach(make)
current = Object.getPrototypeOf(current)
}
}
} finally {
endBatch()
}
makeObservable(target, annotations as any, options)
return target
}
function extractAnnotationsFromObject(
target,
collector: AnnotationsMap<any, any>,
options: CreateObservableOptions | undefined
) {
const autoBind = !!options?.autoBind
const defaultAnnotation: Annotation =
options?.deep === undefined
? options?.defaultDecorator ?? observable.deep
: options?.deep
? observable.deep
: observable.ref
Object.entries(getOwnPropertyDescriptors(target)).forEach(([key, descriptor]) => {
if (key in collector || key === "constructor") return
collector[key] = getInferredAnnotation(descriptor, defaultAnnotation, autoBind)
})
}
function extractAnnotationsFromProto(
proto: any,
collector: AnnotationsMap<any, any>,
options?: CreateObservableOptions
) {
Object.entries(getOwnPropertyDescriptors(proto)).forEach(([key, prop]) => {
if (key in collector || key === "constructor") return
if (prop.get) {
collector[key as any] = computed
} else if (isFunction(prop.value)) {
collector[key as any] = isGenerator(prop.value)
? flow
: options?.autoBind
? autoAction.bound
: autoAction
}
})
}

@@ -9,3 +9,2 @@ import {

endBatch,
getAdministration,
isObservableArray,

@@ -27,3 +26,3 @@ isObservableMap,

$mobx
] as ObservableObjectAdministration).getKeys_()
] as ObservableObjectAdministration).keys_()
}

@@ -99,9 +98,3 @@ if (isObservableMap(obj) || isObservableSet(obj)) {

if (isObservableObject(obj)) {
const adm: ObservableObjectAdministration = ((obj as any) as IIsObservableObject)[$mobx]
const existingObservable = adm.values_.get(key)
if (existingObservable) {
adm.write_(key, value)
} else {
adm.addObservableProp_(key, value, adm.defaultEnhancer_)
}
;((obj as any) as IIsObservableObject)[$mobx].set_(key, value)
} else if (isObservableMap(obj)) {

@@ -127,3 +120,3 @@ obj.set(key, value)

if (isObservableObject(obj)) {
;((obj as any) as IIsObservableObject)[$mobx].remove_(key)
;((obj as any) as IIsObservableObject)[$mobx].delete_(key)
} else if (isObservableMap(obj)) {

@@ -147,4 +140,3 @@ obj.delete(key)

if (isObservableObject(obj)) {
// return keys(obj).indexOf(key) >= 0
return (getAdministration(obj) as ObservableObjectAdministration).has_(key)
return ((obj as any) as IIsObservableObject)[$mobx].has_(key)
} else if (isObservableMap(obj)) {

@@ -166,3 +158,3 @@ return obj.has(key)

if (isObservableObject(obj)) {
return obj[key]
return ((obj as any) as IIsObservableObject)[$mobx].get_(key)
} else if (isObservableMap(obj)) {

@@ -169,0 +161,0 @@ return obj.get(key)

@@ -11,3 +11,3 @@ import {

ObservableValue,
createDynamicObservableObject,
asDynamicObservableObject,
createObservableArray,

@@ -26,9 +26,9 @@ deepEnhancer,

asObservableObject,
storeDecorator,
createDecorator,
storeAnnotation,
createDecoratorAnnotation,
createLegacyArray,
globalState,
assign,
die,
isStringish
isStringish,
createObservableAnnotation
} from "../internal"

@@ -64,3 +64,15 @@

export function getEnhancerFromOption(options: CreateObservableOptions): IEnhancer<any> {
const observableAnnotation = createObservableAnnotation("observable")
const observableRefAnnotation = createObservableAnnotation("observable.ref", {
enhancer: referenceEnhancer
})
const observableShallowAnnotation = createObservableAnnotation("observable.shallow", {
enhancer: shallowEnhancer
})
const observableStructAnnotation = createObservableAnnotation("observable.struct", {
enhancer: refStructEnhancer
})
const observableDecoratorAnnotation = createDecoratorAnnotation(observableAnnotation)
export function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any> {
return options.deep === true

@@ -73,11 +85,16 @@ ? deepEnhancer

const annotationToEnhancer = {
[OBSERVABLE]: deepEnhancer,
[OBSERVABLE_REF]: referenceEnhancer,
[OBSERVABLE_SHALLOW]: shallowEnhancer,
[OBSERVABLE_STRUCT]: refStructEnhancer
export function getAnnotationFromOptions(
options?: CreateObservableOptions
): Annotation | undefined {
return options
? options.deep === true
? observableAnnotation
: options.deep === false
? observableRefAnnotation
: options.defaultDecorator
: undefined
}
export function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any> {
return !annotation ? deepEnhancer : annotationToEnhancer[annotation.annotationType_] ?? die(12)
return !annotation ? deepEnhancer : annotation.options_?.enhancer ?? deepEnhancer
}

@@ -92,3 +109,3 @@

if (isStringish(arg2)) {
storeDecorator(v, arg2, OBSERVABLE)
storeAnnotation(v, arg2, observableAnnotation)
return

@@ -118,3 +135,3 @@ }

}
createObservable.annotationType_ = OBSERVABLE
Object.assign(createObservable, observableDecoratorAnnotation)

@@ -125,3 +142,3 @@ export interface IObservableFactory extends Annotation, PropertyDecorator {

<K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>
<T extends Object>(
<T extends object>(
value: T,

@@ -163,3 +180,3 @@ decorators?: AnnotationsMap<T, never>,

const o = asCreateObservableOptions(options)
return new ObservableValue(value, getEnhancerFromOption(o), o.name, true, o.equals)
return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals)
},

@@ -170,3 +187,3 @@ array<T = any>(initialValues?: T[], options?: CreateObservableOptions): IObservableArray<T> {

? createLegacyArray
: createObservableArray)(initialValues, getEnhancerFromOption(o), o.name)
: createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name)
},

@@ -178,3 +195,3 @@ map<K = any, V = any>(

const o = asCreateObservableOptions(options)
return new ObservableMap<K, V>(initialValues, getEnhancerFromOption(o), o.name)
return new ObservableMap<K, V>(initialValues, getEnhancerFromOptions(o), o.name)
},

@@ -186,3 +203,3 @@ set<T = any>(

const o = asCreateObservableOptions(options)
return new ObservableSet<T>(initialValues, getEnhancerFromOption(o), o.name)
return new ObservableSet<T>(initialValues, getEnhancerFromOptions(o), o.name)
},

@@ -194,18 +211,14 @@ object<T = any>(

): T {
const o = asCreateObservableOptions(options)
const base = {}
asObservableObject(base, options?.name, getEnhancerFromOption(o))
return extendObservable(
globalState.useProxies === false || o.proxy === false
? base
: createDynamicObservableObject(base),
globalState.useProxies === false || options?.proxy === false
? asObservableObject({}, options)
: asDynamicObservableObject({}, options),
props,
decorators,
options
decorators
)
},
ref: createDecorator(OBSERVABLE_REF),
shallow: createDecorator(OBSERVABLE_SHALLOW),
deep: createDecorator(OBSERVABLE),
struct: createDecorator(OBSERVABLE_STRUCT)
ref: createDecoratorAnnotation(observableRefAnnotation),
shallow: createDecoratorAnnotation(observableShallowAnnotation),
deep: observableDecoratorAnnotation,
struct: createDecoratorAnnotation(observableStructAnnotation)
} as any

@@ -212,0 +225,0 @@

const niceErrors = {
0: `Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,
1(prop) {
return `Cannot decorate undefined property: '${prop.toString()}'`
1(annotationType, fieldName) {
return `Cannot apply '${annotationType}' to '${fieldName}': Field not found.`
},
2(prop) {
return `invalid decorator for '${prop.toString()}'`
},
3(prop) {
return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`
},
4(prop) {
return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`
},
5: "'keys()' can only be used on observable objects, arrays, sets and maps",

@@ -16,0 +7,0 @@ 6: "'values()' can only be used on observable objects, arrays, sets and maps",

@@ -15,2 +15,7 @@ /*

export * from "./types/modifiers"
export * from "./types/overrideannotation"
export * from "./types/actionannotation"
export * from "./types/flowannotation"
export * from "./types/computedannotation"
export * from "./types/observableannotation"
export * from "./api/observable"

@@ -17,0 +22,0 @@ export * from "./api/computed"

@@ -137,3 +137,4 @@ /**

AnnotationsMap,
AnnotationMapEntry
AnnotationMapEntry,
override
} from "./internal"

@@ -140,0 +141,0 @@

import {
$mobx,
Atom,
IIsObservableObject,
ObservableObjectAdministration,
set,
warnAboutProxyRequirement,
assertProxies,
die,
isStringish
isStringish,
globalState,
CreateObservableOptions,
asObservableObject
} from "../internal"
import { globalState } from "../core/globalstate"

@@ -21,4 +21,3 @@ function getAdm(target): ObservableObjectAdministration {

const objectProxyTraps: ProxyHandler<any> = {
has(target: IIsObservableObject, name: PropertyKey) {
if (name === $mobx || name === "constructor") return true
has(target: IIsObservableObject, name: PropertyKey): boolean {
if (__DEV__ && globalState.trackingDerivation)

@@ -28,29 +27,8 @@ warnAboutProxyRequirement(

)
const adm = getAdm(target)
// MWE: should `in` operator be reactive? If not, below code path will be faster / more memory efficient
// check performance stats!
// if (adm.values.get(name as string)) return true
if (isStringish(name)) return adm.has_(name)
return (name as any) in target
return getAdm(target).has_(name)
},
get(target: IIsObservableObject, name: PropertyKey) {
if (name === $mobx || name === "constructor") return target[name]
const adm = getAdm(target)
const observable = adm.values_.get(name)
if (observable instanceof Atom) {
const result = (observable as any).get()
if (result === undefined) {
// This fixes #1796, because deleting a prop that has an
// undefined value won't retrigger a observer (no visible effect),
// the autorun wouldn't subscribe to future key changes (see also next comment)
adm.has_(name as any)
}
return result
}
// make sure we start listening to future keys
// note that we only do this here for optimization
if (isStringish(name)) adm.has_(name)
return target[name]
get(target: IIsObservableObject, name: PropertyKey): any {
return getAdm(target).get_(name)
},
set(target: IIsObservableObject, name: PropertyKey, value: any) {
set(target: IIsObservableObject, name: PropertyKey, value: any): boolean {
if (!isStringish(name)) return false

@@ -62,16 +40,29 @@ if (__DEV__ && !getAdm(target).values_.has(name)) {

}
set(target, name, value)
return true
// null (intercepted) -> true (success)
return getAdm(target).set_(name, value, true) ?? true
},
deleteProperty(target: IIsObservableObject, name: PropertyKey) {
if (__DEV__)
deleteProperty(target: IIsObservableObject, name: PropertyKey): boolean {
if (__DEV__) {
warnAboutProxyRequirement(
"delete properties from an observable object. Use 'remove' from 'mobx' instead."
)
}
if (!isStringish(name)) return false
const adm = getAdm(target)
adm.remove_(name)
return true
// null (intercepted) -> true (success)
return getAdm(target).delete_(name, true) ?? true
},
ownKeys(target: IIsObservableObject) {
defineProperty(
target: IIsObservableObject,
name: PropertyKey,
descriptor: PropertyDescriptor
): boolean {
if (__DEV__) {
warnAboutProxyRequirement(
"define property on an observable object. Use 'defineProperty' from 'mobx' instead."
)
}
// null (intercepted) -> true (success)
return getAdm(target).defineProperty_(name, descriptor) ?? true
},
ownKeys(target: IIsObservableObject): PropertyKey[] {
if (__DEV__ && globalState.trackingDerivation)

@@ -81,5 +72,3 @@ warnAboutProxyRequirement(

)
const adm = getAdm(target)
adm.keysAtom_.reportObserved()
return Reflect.ownKeys(target)
return getAdm(target).ownKeys_()
},

@@ -91,7 +80,9 @@ preventExtensions(target) {

export function createDynamicObservableObject(base) {
export function asDynamicObservableObject(
target: any,
options?: CreateObservableOptions
): IIsObservableObject {
assertProxies()
const proxy = new Proxy(base, objectProxyTraps)
base[$mobx].proxy_ = proxy
return proxy
target = asObservableObject(target, options)
return (target[$mobx].proxy_ ??= new Proxy(target, objectProxyTraps))
}

@@ -30,5 +30,5 @@ import {

hasProp,
die
die,
globalState
} from "../internal"
import { globalState } from "../core/globalstate"

@@ -35,0 +35,0 @@ const SPLICE = "splice"

import {
CreateObservableOptions,
getAnnotationFromOptions,
propagateChanged,
isAnnotation,
$mobx,
Atom,
Annotation,
ComputedValue,

@@ -13,5 +18,3 @@ IAtom,

addHiddenProp,
assertPropertyConfigurable,
createInstanceofPredicate,
deepEnhancer,
endBatch,

@@ -34,9 +37,21 @@ getNextId,

globalState,
observable,
ADD,
UPDATE,
die,
hasProp,
getDescriptor,
storedAnnotationsSymbol,
ownKeys,
isOverride,
defineProperty,
hasProp
inferAnnotationFromDescriptor,
objectPrototype
} from "../internal"
// adm[inferredAnnotationsSymbol] = { foo: annotation, ... }
export const inferredAnnotationsSymbol = Symbol("mobx-inferred-annotations")
const descriptorCache = Object.create(null)
export type IObjectDidChange<T = any> = {

@@ -84,5 +99,5 @@ observableKind: "object"

proxy_: any
isPlainObject_: boolean
appliedAnnotations_?: object
private pendingKeys_: undefined | Map<PropertyKey, ObservableValue<boolean>>
private keysValue_: PropertyKey[] = []
private isStaledKeysValue_ = true

@@ -93,17 +108,31 @@ constructor(

public name_: string,
public defaultEnhancer_: IEnhancer<any>
// Used anytime annotation is not explicitely provided
public defaultAnnotation_: Annotation = observable,
// Bind automatically inferred actions?
public autoBind_: boolean = false
) {
this.keysAtom_ = new Atom(name_ + ".keys")
// Optimization: we use this frequently
this.isPlainObject_ = isPlainObject(this.target_)
if (__DEV__ && !isAnnotation(this.defaultAnnotation_)) {
die(`defaultAnnotation must be valid annotation`)
}
if (__DEV__ && typeof this.autoBind_ !== "boolean") {
die(`autoBind must be boolean`)
}
if (__DEV__) {
// Prepare structure for tracking which fields were already annotated
this.appliedAnnotations_ = {}
}
}
read_(key: PropertyKey) {
getObservablePropValue_(key: PropertyKey): any {
return this.values_.get(key)!.get()
}
write_(key: PropertyKey, newValue) {
const instance = this.target_
setObservablePropValue_(key: PropertyKey, newValue): boolean | null {
const observable = this.values_.get(key)
if (observable instanceof ComputedValue) {
observable.set(newValue)
return
return true
}

@@ -115,7 +144,7 @@

type: UPDATE,
object: this.proxy_ || instance,
object: this.proxy_ || this.target_,
name: key,
newValue
})
if (!change) return
if (!change) return null
newValue = (change as any).newValue

@@ -135,3 +164,3 @@ }

debugObjectName: this.name_,
object: this.proxy_ || instance,
object: this.proxy_ || this.target_,
oldValue: (observable as any).value_,

@@ -148,14 +177,57 @@ name: key,

}
return true
}
has_(key: PropertyKey) {
const map = this.pendingKeys_ || (this.pendingKeys_ = new Map())
let entry = map.get(key)
if (entry) return entry.get()
else {
const exists = !!this.values_.get(key)
// Possible optimization: Don't have a separate map for non existing keys,
// but store them in the values map instead, using a special symbol to denote "not existing"
get_(key: PropertyKey): any {
if (globalState.trackingDerivation && !hasProp(this.target_, key)) {
// Key doesn't exist yet, subscribe for it in case it's added later
this.has_(key)
}
return this.target_[key]
}
/**
* @param {PropertyKey} key
* @param {any} value
* @param {Annotation|boolean} annotation true - infer from descriptor, false - copy as is
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
set_(key: PropertyKey, value: any, proxyTrap: boolean = false): boolean | null {
// Don't use .has(key) - we care about own
if (hasProp(this.target_, key)) {
// Existing prop
if (this.values_.has(key)) {
// Observable (can be intercepted)
return this.setObservablePropValue_(key, value)
} else if (proxyTrap) {
// Non-observable - proxy
return Reflect.set(this.target_, key, value)
} else {
// Non-observable
this.target_[key] = value
return true
}
} else {
// New prop
return this.extend_(
key,
{ value, enumerable: true, writable: true, configurable: true },
this.defaultAnnotation_,
proxyTrap
)
}
}
// Trap for "in"
has_(key: PropertyKey): boolean {
if (!globalState.trackingDerivation) {
// Skip key subscription outside derivation
return key in this.target_
}
this.pendingKeys_ ||= new Map()
let entry = this.pendingKeys_.get(key)
if (!entry) {
entry = new ObservableValue(
exists,
key in this.target_,
referenceEnhancer,

@@ -165,63 +237,289 @@ `${this.name_}.${stringifyKey(key)}?`,

)
map.set(key, entry)
return entry.get() // read to subscribe
this.pendingKeys_.set(key, entry)
}
return entry.get()
}
addObservableProp_(
propName: PropertyKey,
newValue,
enhancer: IEnhancer<any> = this.defaultEnhancer_
) {
const { target_: target } = this
if (__DEV__) assertPropertyConfigurable(target, propName)
/**
* @param {PropertyKey} key
* @param {Annotation|boolean} annotation true - infer from object or it's prototype, false - ignore
*/
make_(key: PropertyKey, annotation: Annotation | boolean): void {
if (annotation === true) {
annotation = this.inferAnnotation_(key)
}
if (annotation === false) {
return
}
assertAnnotable(this, annotation, key)
annotation.make_(this, key)
}
if (hasInterceptors(this)) {
const change = interceptChange<IObjectWillChange>(this, {
object: this.proxy_ || target,
name: propName,
type: ADD,
newValue
})
if (!change) return
newValue = (change as any).newValue
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {Annotation|boolean} annotation true - infer from descriptor, false - copy as is
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
extend_(
key: PropertyKey,
descriptor: PropertyDescriptor,
annotation: Annotation | boolean,
proxyTrap: boolean = false
): boolean | null {
if (annotation === true) {
annotation = inferAnnotationFromDescriptor(
descriptor,
this.defaultAnnotation_,
this.autoBind_
)
}
const observable = new ObservableValue(
newValue,
enhancer,
`${this.name_}.${stringifyKey(propName)}`,
false
)
this.values_.set(propName, observable)
newValue = (observable as any).value_ // observableValue might have changed it
if (annotation === false) {
return this.defineProperty_(key, descriptor, proxyTrap)
}
assertAnnotable(this, annotation, key)
const outcome = annotation.extend_(this, key, descriptor, proxyTrap)
if (outcome) {
recordAnnotationApplied(this, annotation, key)
}
return outcome
}
defineProperty(target, propName, generateObservablePropConfig(propName))
this.notifyPropertyAddition_(propName, newValue)
inferAnnotation_(key: PropertyKey): Annotation | false {
// Inherited is fine - annotation cannot differ in subclass
let annotation = this.target_[inferredAnnotationsSymbol]?.[key]
if (annotation) return annotation
let current = this.target_
while (current && current !== objectPrototype) {
const descriptor = getDescriptor(current, key)
if (descriptor) {
annotation = inferAnnotationFromDescriptor(
descriptor,
this.defaultAnnotation_,
this.autoBind_
)
break
}
current = Object.getPrototypeOf(current)
}
// Not found (false means ignore)
if (annotation === undefined) {
die(1, "true", key)
}
// Cache the annotation.
// Note we can do this only because annotation and field can't change.
if (!this.isPlainObject_) {
// We could also place it on furthest proto, shoudn't matter
const closestProto = Object.getPrototypeOf(this.target_)
if (!hasProp(closestProto, inferredAnnotationsSymbol)) {
addHiddenProp(closestProto, inferredAnnotationsSymbol, {})
}
closestProto[inferredAnnotationsSymbol][key] = annotation
}
return annotation
}
addComputedProp_(
propertyOwner: any, // where is the property declared?
propName: PropertyKey,
options: IComputedValueOptions<any>
) {
const { target_: target } = this
options.name = options.name || `${this.name_}.${stringifyKey(propName)}`
options.context = this.proxy_ || target
this.values_.set(propName, new ComputedValue(options))
// Doesn't seem we need this condition:
// if (propertyOwner === target || isPropertyConfigurable(propertyOwner, propName))
defineProperty(propertyOwner, propName, generateComputedPropConfig(propName))
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
defineProperty_(
key: PropertyKey,
descriptor: PropertyDescriptor,
proxyTrap: boolean = false
): boolean | null {
try {
startBatch()
// Delete
const deleteOutcome = this.delete_(key)
if (!deleteOutcome) {
// Failure or intercepted
return deleteOutcome
}
// ADD interceptor
if (hasInterceptors(this)) {
const change = interceptChange<IObjectWillChange>(this, {
object: this.proxy_ || this.target_,
name: key,
type: ADD,
newValue: descriptor.value
})
if (!change) return null
const { newValue } = change as any
if (descriptor.value !== newValue) {
descriptor = {
...descriptor,
value: newValue
}
}
}
// Define
if (proxyTrap) {
if (!Reflect.defineProperty(this.target_, key, descriptor)) {
return false
}
} else {
defineProperty(this.target_, key, descriptor)
}
// Notify
this.notifyPropertyAddition_(key, descriptor.value)
} finally {
endBatch()
}
return true
}
remove_(key: PropertyKey) {
if (!this.values_.has(key)) return
const { target_: target } = this
// If original descriptor becomes relevant, move this to annotation directly
defineObservableProperty_(
key: PropertyKey,
value: any,
enhancer: IEnhancer<any>,
proxyTrap: boolean = false
): boolean | null {
try {
startBatch()
// Delete
const deleteOutcome = this.delete_(key)
if (!deleteOutcome) {
// Failure or intercepted
return deleteOutcome
}
// ADD interceptor
if (hasInterceptors(this)) {
const change = interceptChange<IObjectWillChange>(this, {
object: this.proxy_ || this.target_,
name: key,
type: ADD,
newValue: value
})
if (!change) return null
value = (change as any).newValue
}
const cachedDescriptor = getCachedObservablePropDescriptor(key)
const descriptor = {
configurable: this.isPlainObject_,
enumerable: true,
get: cachedDescriptor.get,
set: cachedDescriptor.set
}
// Define
if (proxyTrap) {
if (!Reflect.defineProperty(this.target_, key, descriptor)) {
return false
}
} else {
defineProperty(this.target_, key, descriptor)
}
const observable = new ObservableValue(
value,
enhancer,
`${this.name_}.${stringifyKey(key)}`,
false
)
this.values_.set(key, observable)
// Notify (value possibly changed by ObservableValue)
this.notifyPropertyAddition_(key, observable.value_)
} finally {
endBatch()
}
return true
}
// If original descriptor becomes relevant, move this to annotation directly
defineComputedProperty_(
key: PropertyKey,
options: IComputedValueOptions<any>,
proxyTrap: boolean = false
): boolean | null {
try {
startBatch()
// Delete
const deleteOutcome = this.delete_(key)
if (!deleteOutcome) {
// Failure or intercepted
return deleteOutcome
}
// ADD interceptor
if (hasInterceptors(this)) {
const change = interceptChange<IObjectWillChange>(this, {
object: this.proxy_ || this.target_,
name: key,
type: ADD,
newValue: undefined
})
if (!change) return null
}
options.name ||= `${this.name_}.${stringifyKey(key)}`
options.context = this.proxy_ || this.target_
const cachedDescriptor = getCachedObservablePropDescriptor(key)
const descriptor = {
configurable: this.isPlainObject_,
enumerable: false,
get: cachedDescriptor.get,
set: cachedDescriptor.set
}
// Define
if (proxyTrap) {
if (!Reflect.defineProperty(this.target_, key, descriptor)) {
return false
}
} else {
defineProperty(this.target_, key, descriptor)
}
this.values_.set(key, new ComputedValue(options))
// Notify
this.notifyPropertyAddition_(key, undefined)
} finally {
endBatch()
}
return true
}
/**
* @param {PropertyKey} key
* @param {PropertyDescriptor} descriptor
* @param {boolean} proxyTrap whether it's called from proxy trap
* @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor
*/
delete_(key: PropertyKey, proxyTrap: boolean = false): boolean | null {
// No such prop
if (!hasProp(this.target_, key)) {
return true
}
// Intercept
if (hasInterceptors(this)) {
const change = interceptChange<IObjectWillChange>(this, {
object: this.proxy_ || target,
object: this.proxy_ || this.target_,
name: key,
type: REMOVE
})
if (!change) return
// Cancelled
if (!change) return null
}
// Delete
try {

@@ -231,31 +529,56 @@ startBatch()

const notifySpy = __DEV__ && isSpyEnabled()
const oldObservable = this.values_.get(key)
const oldValue = oldObservable && oldObservable.get()
oldObservable && oldObservable.set(undefined)
// notify key and keyset listeners
this.reportKeysChanged()
this.values_.delete(key)
if (this.pendingKeys_) {
const entry = this.pendingKeys_.get(key)
if (entry) entry.set(false)
const observable = this.values_.get(key)
// Value needed for spies/listeners
let value = undefined
// Optimization: don't pull the value unless we will need it
if (!observable && (notify || notifySpy)) {
value = getDescriptor(this.target_, key)?.value
}
// delete the prop
delete this.target_[key]
const change: IObjectDidChange | null =
notify || notifySpy
? ({
type: REMOVE,
observableKind: "object",
object: this.proxy_ || target,
debugObjectName: this.name_,
oldValue: oldValue,
name: key
} as const)
: null
if (__DEV__ && notifySpy) spyReportStart(change!)
if (notify) notifyListeners(this, change)
if (__DEV__ && notifySpy) spyReportEnd()
// delete prop (do first, may fail)
if (proxyTrap) {
if (!Reflect.deleteProperty(this.target_, key)) {
return false
}
} else {
delete this.target_[key]
}
// Allow re-annotating this field
if (__DEV__) {
delete this.appliedAnnotations_![key]
}
// Clear observable
if (observable) {
this.values_.delete(key)
// for computed, value is undefined
if (observable instanceof ObservableValue) {
value = observable.value_
}
// Notify: autorun(() => obj[key]), see #1796
propagateChanged(observable)
}
// Notify "keys/entries/values" observers
this.keysAtom_.reportChanged()
// Notify "has" observers
// "in" as it may still exist in proto
this.pendingKeys_?.get(key)?.set(key in this.target_)
// Notify spies/listeners
if (notify || notifySpy) {
const change: IObjectDidChange = {
type: REMOVE,
observableKind: "object",
object: this.proxy_ || this.target_,
debugObjectName: this.name_,
oldValue: value,
name: key
}
if (__DEV__ && notifySpy) spyReportStart(change!)
if (notify) notifyListeners(this, change)
if (__DEV__ && notifySpy) spyReportEnd()
}
} finally {
endBatch()
}
return true
}

@@ -278,44 +601,43 @@

notifyPropertyAddition_(key: PropertyKey, newValue) {
notifyPropertyAddition_(key: PropertyKey, value: any) {
const notify = hasListeners(this)
const notifySpy = __DEV__ && isSpyEnabled()
const change: IObjectDidChange | null =
notify || notifySpy
? ({
type: ADD,
observableKind: "object",
debugObjectName: this.name_,
object: this.proxy_ || this.target_,
name: key,
newValue
} as const)
: null
if (notify || notifySpy) {
const change: IObjectDidChange | null =
notify || notifySpy
? ({
type: ADD,
observableKind: "object",
debugObjectName: this.name_,
object: this.proxy_ || this.target_,
name: key,
newValue: value
} as const)
: null
if (__DEV__ && notifySpy) spyReportStart(change!)
if (notify) notifyListeners(this, change)
if (__DEV__ && notifySpy) spyReportEnd()
if (this.pendingKeys_) {
const entry = this.pendingKeys_.get(key)
if (entry) entry.set(true)
if (__DEV__ && notifySpy) spyReportStart(change!)
if (notify) notifyListeners(this, change)
if (__DEV__ && notifySpy) spyReportEnd()
}
this.reportKeysChanged()
this.pendingKeys_?.get(key)?.set(true)
// Notify "keys/entries/values" observers
this.keysAtom_.reportChanged()
}
getKeys_(): PropertyKey[] {
ownKeys_(): PropertyKey[] {
this.keysAtom_.reportObserved()
if (!this.isStaledKeysValue_) {
return this.keysValue_
}
// return Reflect.ownKeys(this.values) as any
this.keysValue_ = []
for (const [key, value] of this.values_)
if (value instanceof ObservableValue) this.keysValue_.push(key)
if (__DEV__) Object.freeze(this.keysValue_)
this.isStaledKeysValue_ = false
return this.keysValue_
return ownKeys(this.target_)
}
private reportKeysChanged() {
this.isStaledKeysValue_ = true
this.keysAtom_.reportChanged()
keys_(): PropertyKey[] {
// Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.
// There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.
// We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)
// We choose to over-report in Object.keys(object), because:
// - typically it's used with simple data objects
// - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected
this.keysAtom_.reportObserved()
return Object.keys(this.target_)
}

@@ -330,17 +652,16 @@ }

target: any,
name: PropertyKey = "",
defaultEnhancer: IEnhancer<any> = deepEnhancer
): ObservableObjectAdministration {
if (hasProp(target, $mobx)) return target[$mobx]
options?: CreateObservableOptions
): IIsObservableObject {
if (__DEV__ && options && isObservableObject(target)) {
die(`Options can't be provided for already observable objects.`)
}
if (hasProp(target, $mobx)) return target
if (__DEV__ && !Object.isExtensible(target))
die("Cannot make the designated object observable; it is not extensible")
if (!name) {
if (isPlainObject(target)) {
name = "ObservableObject@" + getNextId()
} else {
name = (target.constructor.name || "ObservableObject") + "@" + getNextId()
}
}
const name =
options?.name ??
`${isPlainObject(target) ? "ObservableObject" : target.constructor.name}@${getNextId()}`

@@ -351,22 +672,25 @@ const adm = new ObservableObjectAdministration(

stringifyKey(name),
defaultEnhancer
getAnnotationFromOptions(options),
options?.autoBind
)
addHiddenProp(target, $mobx, adm)
return adm
return target
}
const observablePropertyConfigs = Object.create(null)
const computedPropertyConfigs = Object.create(null)
const isObservableObjectAdministration = createInstanceofPredicate(
"ObservableObjectAdministration",
ObservableObjectAdministration
)
export function generateObservablePropConfig(propName) {
function getCachedObservablePropDescriptor(key) {
return (
observablePropertyConfigs[propName] ||
(observablePropertyConfigs[propName] = {
configurable: true,
enumerable: true,
descriptorCache[key] ||
(descriptorCache[key] = {
get() {
return this[$mobx].read_(propName)
return this[$mobx].getObservablePropValue_(key)
},
set(v) {
this[$mobx].write_(propName, v)
set(value) {
return this[$mobx].setObservablePropValue_(key, value)
}

@@ -377,23 +701,2 @@ })

export function generateComputedPropConfig(propName) {
return (
computedPropertyConfigs[propName] ||
(computedPropertyConfigs[propName] = {
configurable: true,
enumerable: false,
get() {
return this[$mobx].read_(propName)
},
set(v) {
this[$mobx].write_(propName, v)
}
})
)
}
const isObservableObjectAdministration = createInstanceofPredicate(
"ObservableObjectAdministration",
ObservableObjectAdministration
)
export function isObservableObject(thing: any): boolean {

@@ -405,1 +708,70 @@ if (isObject(thing)) {

}
export function recordAnnotationApplied(
adm: ObservableObjectAdministration,
annotation: Annotation,
key: PropertyKey
) {
if (__DEV__) {
adm.appliedAnnotations_![key] = annotation
}
// Remove applied decorator annotation so we don't try to apply it again in subclass constructor
if (annotation.isDecorator_) {
delete adm.target_[storedAnnotationsSymbol][key]
}
}
function assertAnnotable(
adm: ObservableObjectAdministration,
annotation: Annotation,
key: PropertyKey
) {
// Valid annotation
if (__DEV__ && !isAnnotation(annotation)) {
die(`Cannot annotate '${adm.name_}.${key.toString()}': Invalid annotation.`)
}
/*
// Configurable, not sealed, not frozen
// Possibly not needed, just a little better error then the one thrown by engine.
// Cases where this would be useful the most (subclass field initializer) are not interceptable by this.
if (__DEV__) {
const configurable = getDescriptor(adm.target_, key)?.configurable
const frozen = Object.isFrozen(adm.target_)
const sealed = Object.isSealed(adm.target_)
if (!configurable || frozen || sealed) {
const fieldName = `${adm.name_}.${key.toString()}`
const requestedAnnotationType = annotation.annotationType_
let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`
if (frozen) {
error += `\nObject is frozen.`
}
if (sealed) {
error += `\nObject is sealed.`
}
if (!configurable) {
error += `\nproperty is not configurable.`
// Mention only if caused by us to avoid confusion
if (hasProp(adm.appliedAnnotations!, key)) {
error += `\nTo prevent accidental re-definition of a field by a subclass, `
error += `all annotated fields of non-plain objects (classes) are not configurable.`
}
}
die(error)
}
}
*/
// Not annotated
if (__DEV__ && !isOverride(annotation) && hasProp(adm.appliedAnnotations_!, key)) {
const fieldName = `${adm.name_}.${key.toString()}`
const currentAnnotationType = adm.appliedAnnotations_![key].annotationType_
const requestedAnnotationType = annotation.annotationType_
die(
`Cannot apply '${requestedAnnotationType}' to '${fieldName}':` +
`\nThe field is already annotated with '${currentAnnotationType}'.` +
`\nRe-annotating fields is not allowed.` +
`\nUse 'override' annotation for methods overriden by subclass.`
)
}
}

@@ -117,14 +117,2 @@ import { globalState, die } from "../internal"

export function assertPropertyConfigurable(object: any, prop: PropertyKey) {
if (__DEV__) {
const descriptor = getDescriptor(object, prop)
if (descriptor?.configurable === false || descriptor?.writable === false)
die(
`Cannot make property '${stringifyKey(
prop
)}' observable, it is not configurable and writable in the target object`
)
}
}
export function createInstanceofPredicate<T>(

@@ -152,3 +140,3 @@ name: string,

/**
* Returns the following: own keys, prototype keys & own symbol keys, if they are enumerable.
* Returns the following: own enumerable keys and symbols.
*/

@@ -155,0 +143,0 @@ export function getPlainObjectKeys(object) {

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

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 not supported yet

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

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

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