{"version":3,"sources":["../static/js/main.5880b130.js","../webpack/bootstrap 733239c4d0c64ef88107","../node_modules/react/index.js","../node_modules/prop-types/index.js","../node_modules/mobx-react/index.module.js","mobx/store.js","../node_modules/warning/warning.js","../node_modules/invariant/browser.js","../node_modules/history/esm/history.js","../node_modules/object-assign/index.js","../node_modules/react-router-dom/es/index.js","../node_modules/react-router-dom/es/Router.js","../node_modules/react-router/es/Router.js","../node_modules/react-router/es/matchPath.js","../node_modules/promise/lib/core.js","../node_modules/webpack/buildin/global.js","../node_modules/react-dom/index.js","../node_modules/react-router-dom/es/Link.js","../node_modules/react-router-dom/es/Route.js","../node_modules/react-router/es/Route.js","../node_modules/path-to-regexp/index.js","../node_modules/react-router/es/generatePath.js","../node_modules/mobx/lib/mobx.module.js","components/Layout/Footer/index.jsx","../node_modules/qr.js/lib/mode.js","../node_modules/qr.js/lib/ErrorCorrectLevel.js","../node_modules/qr.js/lib/Polynomial.js","../node_modules/qr.js/lib/math.js","../config/polyfills.js","../node_modules/promise/lib/rejection-tracking.js","../node_modules/asap/browser-raw.js","../node_modules/promise/lib/es6-extensions.js","../node_modules/whatwg-fetch/fetch.js","index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","App/index.jsx","../node_modules/react-router-dom/es/BrowserRouter.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/react-router-dom/es/HashRouter.js","../node_modules/react-router-dom/es/MemoryRouter.js","../node_modules/react-router/es/MemoryRouter.js","../node_modules/react-router-dom/es/NavLink.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/react-router-dom/es/Prompt.js","../node_modules/react-router/es/Prompt.js","../node_modules/react-router-dom/es/Redirect.js","../node_modules/react-router/es/Redirect.js","../node_modules/react-router-dom/es/StaticRouter.js","../node_modules/react-router/es/StaticRouter.js","../node_modules/react-router-dom/es/Switch.js","../node_modules/react-router/es/Switch.js","../node_modules/react-router-dom/es/generatePath.js","../node_modules/react-router-dom/es/matchPath.js","../node_modules/react-router-dom/es/withRouter.js","../node_modules/react-router/es/withRouter.js","../node_modules/react-router/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","components/Layout/Header/index.jsx","../node_modules/process/browser.js","mobx/data.js","views/Home/index.jsx","components/pages/Index/index.jsx","components/pages/Function/index.jsx","components/pages/Community/index.jsx","components/pages/Query/index.jsx","components/pages/Schoolbus/index.jsx","components/Sidebar/index.jsx","views/Download/index.jsx","../node_modules/qrcode.react/lib/index.js","../node_modules/qr.js/lib/QRCode.js","../node_modules/qr.js/lib/8BitByte.js","../node_modules/qr.js/lib/RSBlock.js","../node_modules/qr.js/lib/BitBuffer.js","../node_modules/qr.js/lib/util.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","length","descriptor","writable","key","_createClass","protoProps","staticProps","_defineProperty","value","_inherits","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","createCommonjsModule","fn","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","objectPrototype","inheritedComponent","keys","getOwnPropertyNames","getOwnPropertySymbols","concat","targetStatics","TYPE_STATICS","REACT_STATICS","sourceStatics","KNOWN_STATICS","getOwnPropertyDescriptor","e","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","location","propFullName","_len","arguments","rest","Array","_key","actual","Error","apply","chainedCheckType","bind","isSymbol","propType","propValue","getPropType","isArray","RegExp","getPreciseType","Date","createObservableTypeCheckerCreator","allowNativeType","mobxType","toLowerCase","mobxChecker","preciseType","nativeTypeExpectationMessage","createObservableArrayOfTypeChecker","typeChecker","_len2","_key2","error","isStateless","component","render","createSymbol","symbol","symbolId","newSymbol","createdSymbols","getMixins","methodName","mixins","mobxMixins","methodMixins","locks","methods","wrapper","realMethod","_this","this","args","retVal","undefined","forEach","mx","wrapFunction","patch","_len3","mixinMethods","_key3","_i","mixinMethod","indexOf","push","oldDefinition","mobxPatchedDefinition","originalMethod","newDefinition","createDefinition","_ref","wrappedFunc","createStoreInjector","grabStoresFn","injectNames","displayName","Injector","_Component","_getPrototypeOf2","storeRef","wrappedInstance","newProps","additionalProps","context","mobxStores","ref","hoistNonReactStatics_cjs","wrappedComponent","defineProperties","proxiedInjectorProps","grabStoresByName","storeNames","baseStores","nextProps","storeName","inject","componentClass","injected","isMobxInjector","observer","join","setHiddenProp","prop","findDOMNode$2","reportRendering","node","componentByNodeRegistry","set","renderReporter","emit","event","renderTime","__$mobRenderEnd","__$mobRenderStart","totalTime","now","trackComponents","WeakMap","isDevtoolsEnabled","patch$1","funcName","reactiveMixin","shallowEqual","objA","objB","is","keysA","keysB","x","y","makeComponentReactive","reactiveRender","isRenderingPending","exception","rendering","reaction","track","baseRender","errorsReporter","_this2","isUsingStaticRendering","initialName","rootNodeID","_reactInternalInstance","_rootNodeID","_debugID","_reactInternalFiber","skipRenderKey","isForcingUpdateKey","componentWillReact","mobxIsUnmounted","hasError","forceUpdate","dispose","reactComponent","mobxAdminProperty","makeObservableProp","getAtom","atomHolderKey","valueHolderKey","reportObserved","v","reportChanged","arg1","arg2","warnedAboutObserverInjectDeprecation","console","warn","ReactForwardRefSymbol","_baseRender","_arguments","createElement","Observer","isReactClass","isPrototypeOf","_class","_temp","observerComponent","contextTypes","propTypes","defaultProps","mixinLifecycleEvents","isMobXReactObserver","shouldComponentUpdate","componentWillMount","state","getDerivedStateFromProps","setState","componentWillReceiveProps","updater","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","copyStores","from","to","validStoreName","specialReactKeys","reactIs_production_min","u","a","q","$$typeof","type","g","f","k","h","b","for","r","t","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Profiler","Portal","StrictMode","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isProfiler","isPortal","isStrictMode","default","reactIs","childContextTypes","contextType","getDefaultProps","getDerivedStateFromError","caller","callee","arity","FORWARD_REF_STATICS","EventEmitter","listeners","cb","index","splice","data","objectOrObservableObject","injectorContextTypes","seal","_","_props","componentWillUnmount","delete","componentDidMount","componentDidUpdate","_ref2","children","observerInject","InjectComponent","ObserverPropsCheck","extraKey","__suppressDeprecationWarning","Provider","only","stores","filter","suppressChangedStoreWarning","Component$$1","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","reactionScheduler","__MOBX_DEVTOOLS_GLOBAL_HOOK__","mobx","spy","extras","getDebugName","mobxReact","componentByNodeRegistery","injectMobxReact","_initDefineProp","initializer","_applyDecoratedDescriptor","decorators","desc","slice","reverse","reduce","decorator","_descriptor","_descriptor2","__WEBPACK_IMPORTED_MODULE_0_mobx__","__WEBPACK_IMPORTED_MODULE_1__data__","currentLanguage","window","localStorage","getItem","setItem","Store","language","path","observable","action","warning","invariant","condition","format","argIndex","replace","framesToPop","addLeadingSlash","charAt","stripLeadingSlash","substr","hasBasename","prefix","stripBasename","stripTrailingSlash","parsePath","pathname","search","hash","hashIndex","searchIndex","createPath","createLocation","currentLocation","decodeURI","URIError","locationsAreEqual","createTransitionManager","setPrompt","nextPrompt","prompt","confirmTransitionTo","getUserConfirmation","callback","result","appendListener","listener","isActive","item","notifyListeners","getConfirmation","message","confirm","supportsHistory","ua","navigator","userAgent","history","supportsPopStateOnHashChange","supportsGoWithoutReloadUsingHash","isExtraneousPopstateEvent","getHistoryState","createBrowserHistory","getDOMLocation","historyState","_window$location","basename","createKey","Math","random","toString","keyLength","globalHistory","transitionManager","handlePopState","handlePop","handleHashChange","forceNextPop","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","createHref","href","canUseHistory","pushState","forceRefresh","prevIndex","nextKeys","replaceState","goBack","goForward","checkDOMListeners","listenerCount","addEventListener","PopStateEvent","needsHashChangeListener","HashChangeEvent","removeEventListener","block","unblock","isBlocked","listen","unlisten","canUseDOM","_props$forceRefresh","_props$getUserConfirm","_props$keyLength","initialLocation","stripHash","url","getHashPath","substring","pushHashPath","replaceHashPath","createHashHistory","decodePath","locationsAreEqual$$1","encodedPath","encodePath","prevLocation","ignorePath","allPaths","lastIndexOf","baseTag","document","querySelector","getAttribute","nextPaths","HashChangeEvent$1","_props$hashType","hashType","_HashPathCoders$hashT","HashPathCoders","clamp","lowerBound","upperBound","min","max","createMemoryHistory","entries","nextIndex","nextEntries","canGo","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","map","entry","hashbang","noslash","slash","toObject","val","propIsEnumerable","propertyIsEnumerable","assign","test1","String","test2","fromCharCode","test3","split","letter","err","source","symbols","_extends","Router","_React$Component","_ret","match","computeMatch","getChildContext","router","route","params","isExact","Children","count","Component","patternCache","cacheCount","compilePath","pattern","options","cacheKey","end","strict","sensitive","cache","re","compiledPattern","matchPath","parent","_options","_options$exact","exact","_options$strict","_options$sensitive","_compilePath","exec","values","memo","noop","getThen","then","ex","LAST_ERROR","IS_ERROR","tryCallOne","tryCallTwo","Promise","_75","_83","_18","_38","doResolve","safeThen","onFulfilled","onRejected","resolve","reject","res","handle","Handler","deferred","_47","handleResolved","asap","promise","ret","newValue","finale","_71","done","reason","_44","Function","eval","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","_objectWithoutProperties","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","Link","handleClick","onClick","defaultPrevented","button","preventDefault","_this$props","innerRef","func","string","bool","oneOfType","shape","isEmptyChildren","Route","computedMatch","nextContext","_context$router","staticContext","parse","str","tokens","defaultDelimiter","delimiter","PATH_REGEXP","escaped","offset","next","capture","group","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","compile","tokensToFunction","encodeURIComponentPretty","encodeURI","charCodeAt","toUpperCase","encodeAsterisk","matches","flags","opts","encode","pretty","encodeURIComponent","token","segment","isarray","JSON","stringify","j","test","attachKeys","regexpToRegexp","groups","arrayToRegexp","parts","pathToRegexp","stringToRegexp","tokensToRegExp","endsWithDelimiter","compileGenerator","compiledGenerator","generatePath","getNextId","globalState","mobxGuid","fail","check","OBFUSCATED_ERROR","deprecated","msg","thing","once","invoked","unique","list","isObject","isPlainObject","proto","convertToMap","dataStructure","isES6Map","isObservableMap","Map","addHiddenProp","addHiddenFinalProp","isPropertyConfigurable","createInstanceofPredicate","clazz","isES6Set","Set","getPlainObjectKeys","enumerables","add","stringifyKey","toPrimitive","createAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","atom","Atom","onBecomeObserved","onBecomeUnobserved","identityComparer","structuralComparer","deepEqual","shallowComparer","defaultComparer","__extends","__","extendStatics","__values","__read","ar","__spread","createPropertyInitializerDescriptor","enumerableDescriptorCache","nonEnumerableDescriptorCache","initializeInstance","e_1","_a","mobxDidRunLazyInitializersSymbol","mobxPendingDecorators","keys_1","keys_1_1","propertyCreator","decoratorTarget","decoratorArguments","e_1_1","return","createPropDecorator","propertyInitiallyEnumerable","applyImmediately","inheritedDecorators","__assign","quacksLikeADecorator","EMPTY_ARRAY","deepEnhancer","isObservable","array","shallowEnhancer","isObservableObject","isObservableArray","isObservableSet","deep","referenceEnhancer","refStructEnhancer","oldValue","createDecoratorForEnhancer","enhancer","propertyName","_decoratorTarget","decoratorArgs","initialValue","asObservableObject","addObservableProp","process","asCreateObservableOptions","defaultCreateObservableOptions","proxy","getEnhancerFromOptions","defaultDecorator","createObservable","arg3","deepDecorator","incorrectlyUsedAsDecorator","isCaughtException","CaughtException","shouldCompute","derivation","dependenciesState","IDerivationState","UP_TO_DATE","NOT_TRACKING","STALE","POSSIBLY_STALE","prevAllowStateReads","allowStateReadsStart","prevUntracked","untrackedStart","obs","observing","isComputedValue","disableErrorBoundaries","untrackedEnd","allowStateReadsEnd","changeDependenciesStateTo0","checkIfStateModificationsAreAllowed","hasObservers","observers","size","computationDepth","allowStateChanges","enforceActions","checkIfStateReadsAreAllowed","trackDerivedFunction","newObserving","unboundDepsCount","runId","prevTracking","trackingDerivation","bindDependencies","warnAboutDerivationWithoutDependencies","prevObserving","lowestNewObservingDerivationState","i0","dep","diffValue","removeObserver","addObserver","onBecomeStale","clearObserving","untracked","prev","allowStateReads","lowestObserverState","createAction","actionName","executeAction","isMobxAction","scope","runInfo","_startAction","_endAction","notifySpy","isSpyEnabled","startTime","prevDerivation","startBatch","prevAllowStateChanges","allowStateChangesStart","actionId","nextActionId","parentActionId","currentActionId","suppressReactionErrors","allowStateChangesEnd","endBatch","getGlobal","global","mockGlobal","isolateGlobalState","pendingReactions","inBatch","isRunningReactions","isolateCalled","canMergeGlobalState","__mobxInstanceCount","__mobxGlobals","MobXGlobals","queueForUnobservation","isPendingUnobservation","pendingUnobservations","runReactions","isBeingObserved","ComputedValue","suspend","lastAccessedBy","propagateChanged","isTracing","TraceMode","NONE","logTraceInfo","propagateChangeConfirmed","propagateMaybeChanged","log","BREAK","lines","printDepTree","getDependencyTree","tree","depth","dependencies","child","runReactionsHelper","allReactions","iterations","MAX_REACTION_ITERATIONS","remainingReactions","runReaction","setReactionScheduler","baseScheduler","spyReport","dontReassignFields","namedActionDecorator","initializer_1","actionFieldDecorator","boundActionDecorator","applyToInstance","defineBoundAction","autorun","view","reactionRunner","EMPTY_OBJECT","runSync","scheduler","delay","Reaction","onError","requiresObservable","scheduler_1","createSchedulerFromOptions","isScheduled_1","isDisposed","schedule","getDisposer","setTimeout","run","wrapErrorHandler","errorHandler","baseFn","interceptHook","hook","listenersKey","hookListeners","configure","computedRequiresReaction","computedConfigurable","reactionRequiresObservable","observableRequiresReaction","ea","extendObservable","properties","getDefaultDecoratorFromObjectOptions","extendObservableObjectWithProperties","refDecorator","e_2","_b","ownKeys","keys_2","keys_2_1","computedDecorator","resultDescriptor","e_2_1","nodeToDependencyTree","FlowCancellationError","_isObservable","$mobx","has","isAtom","isReaction","getKeys","adm","existingObservable","write","defaultEnhancer","parseInt","values_1","key_1","getAdministration","trace","enterBreakPoint","pop","getAtomFromArgs","LOG","transaction","thisArg","getAdm","isPropertyKey","createDynamicObservableObject","base","Proxy","objectProxyTraps","hasInterceptors","interceptable","interceptors","registerInterceptor","handler","idx","interceptChange","change","prevU","hasListeners","listenable","changeListeners","registerListener","createObservableArray","initialValues","owned","ObservableArrayAdministration","arrayTraps","spliceWithArray","isObservableArrayAdministration","ObservableObjectAdministration","generateObservablePropConfig","observablePropertyConfigs","read","getAdministrationForComputedPropOwner","owner","generateComputedPropConfig","computedPropertyConfigs","isObservableObjectAdministration","anyThing","_keysAtom","_data","_hasMap","named","eq","aStack","bStack","className","valueOf","unwrap","areArrays","aCtor","bCtor","has$1","makeIterable","getSelf","freeze","Reflect","onBecomeObservedListeners","onBecomeUnobservedListeners","comparer","identity","structural","shallow","shallowDecorator","refStructDecorator","observableFactories","box","ObservableValue","equals","ObservableMap","ObservableSet","struct","addComputedProp","computedStructDecorator","cause","functionNameDescriptor","_super","hasUnreportedChange","dehanceValue","dehancer","prepareNewValue","UNCHANGED","setNewValue","intercept","observe","fireImmediately","toJSON","__mapid","isComputing","isRunningSetter","setter","compareStructural","requiresReaction","keepAlive","trackAndCompute","warnAboutUntrackedRead","computeValue","peek","wasSuspended","changed","firstTime","prevValue","version","spyListeners","globalReactionErrorHandlers","onInvalidate","_isScheduled","_isTrackPending","_isRunning","isScheduled","reportExceptionInDerivation","arg4","bound","deleteProperty","remove","keysAtom","preventExtensions","getArrayLength","arrayExtensions","isNaN","setArrayLength","lastKnownLength","newV","oldV","dehanceValues","added","addedCount","removed","removedCount","newLength","currentLength","newItems","updateArrayLength","oldLength","deleteCount","spliceItemsIntoValues","notifyArraySplice","notifyArrayChildUpdate","notify","clear","toJS","items","shift","unshift","clone","sort","compareFn","dehancedValues","element","accumulator","currentValue","_a$1","ObservableMapMarker","initialData","toStringTag","merge","_has","newEntry","hasKey","_updateValue","_addValue","_updateHasMapEntry","_c","_d","_e","other","e_3","e_4","replacementMap","orderedData","keysReportChangedCalled","e_3_1","_f","_g","_h","keyExisted","value_1","e_4_1","iter1","iter2","next1","next2","toPOJO","e_5","e_5_1","ObservableSetMarker","_atom","callbackFn","observableValues","pendingKeys","exists","notifyPropertyAddition","propertyOwner","oldObservable","illegalAccess","testCodeMinification","varName","injectMobx","Footer","_dec","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_mobx_react__","__WEBPACK_IMPORTED_MODULE_2__mobx_store__","__WEBPACK_IMPORTED_MODULE_3__index_less__","store","footer","line1","style","paddingTop","line2","React","MODE_NUMBER","MODE_ALPHA_NUM","MODE_8BIT_BYTE","MODE_KANJI","L","M","Q","H","QRPolynomial","num","math","getLength","multiply","gexp","glog","mod","ratio","QRMath","LOG_TABLE","EXP_TABLE","enable","disable","enabled","onUnhandled","id","allRejections","matchWhitelist","rejections","whitelist","DEFAULT_WHITELIST","displayId","logged","logError","onHandled","_56","clearTimeout","timeout","stack","line","some","cls","RangeError","rawAsap","task","queue","requestFlush","flushing","flush","currentIndex","capacity","scan","makeRequestCallFromTimer","handleTimer","timeoutHandle","clearInterval","intervalHandle","setInterval","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","toggle","createTextNode","characterData","valuePromise","TRUE","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","all","arr","remaining","race","normalizeName","normalizeValue","iteratorFor","support","iterable","Headers","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","Uint8Array","chars","bufferClone","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","rejected","text","decode","json","normalizeMethod","method","upcased","Request","input","credentials","mode","referrer","form","trim","bytes","decodeURIComponent","parseHeaders","rawHeaders","Response","bodyInit","status","statusText","fetch","viewClasses","DataView","isView","response","redirectStatuses","redirect","init","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","ReactDOM","getElementById","C","F","refs","E","D","G","K","_owner","J","current","N","O","escape","R","keyPrefix","S","T","U","B","V","W","aa","X","P","Z","Y","w","z","A","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","I","isPureReactComponent","__self","__source","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","toArray","PureComponent","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Consumer","_context","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","ja","da","ia","ka","fa","ha","oa","currentTarget","na","ra","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","xa","Ca","ma","za","stateNode","la","Da","Aa","Ba","Ea","Fa","Ga","Ha","La","Ma","Ka","Ia","Ra","Oa","Qa","Pa","Na","Sa","acceptsBooleans","Ta","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","Va","Xa","removeAttribute","setAttribute","setAttributeNS","nb","mb","ob","pb","ab","$a","bb","hb","ib","eb","db","gb","jb","lb","kb","qb","tag","_debugOwner","_debugSource","fileName","Ya","lineNumber","rb","sb","nodeName","tb","getValue","setValue","stopTracking","_valueTracker","xb","yb","checked","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Fb","Gb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Nb","Ob","Rb","firstChild","lastChild","nodeType","nodeValue","Sb","Wb","Ub","Tb","Vb","cc","bc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","gc","sibling","hc","ic","jc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","kc","nc","srcElement","correspondingUseElement","parentNode","oc","ya","qc","topLevelType","nativeEvent","targetInst","ancestors","pc","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","ac","Jc","Hc","Ic","Kc","blockedOn","container","Lc","Bc","Cc","Dc","Ec","pointerId","Fc","Mc","Nc","xc","Oc","Pc","unstable_runWithPriority","priority","yc","hydrate","Qc","Rc","Sc","Tc","zc","Ac","wc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Gc","ad","bubbled","captured","eventPriority","Zc","Yc","Wc","gd","hd","Ja","ed","dd","fd","ld","jd","md","setProperty","od","nd","pd","rd","sd","td","ud","vd","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Fd","autoFocus","Gd","__html","Jd","Kd","previousSibling","zd","Cd","Bd","Ad","Md","Od","Pd","Qd","Nd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","ae","$d","Zd","Yd","be","ce","Interface","isDefaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","qe","ie","keyCode","detail","te","which","pe","ne","ue","se","je","char","me","locale","xe","we","ze","ye","Ce","De","Ee","Ge","Ae","detachEvent","He","Be","Ie","attachEvent","Je","Ke","Le","Pe","getModifierState","Oe","Qe","Ze","bf","$e","af","jf","hf","ef","start","selectionStart","selectionEnd","defaultView","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","gf","df","select","ff","of","charCode","zf","yf","Cf","Af","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Bf","Hf","ag","Nf","Of","Pf","Qf","Rf","Sf","bg","cg","If","dg","Jf","eg","Wf","Xf","fg","Tf","gg","Kf","Yf","hg","ig","ng","mg","lg","kg","og","jg","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","ug","updateQueue","baseState","baseQueue","shared","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","tg","ca","Ag","Bg","Cg","Fg","Kg","Lg","Jg","Mg","Ng","Eg","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Za","Og","ch","Zg","dh","bh","ah","$g","documentElement","namespaceURI","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","nh","oh","lh","jh","ph","qh","rh","sh","mh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","destroy","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","kh","Gg","Dg","Hg","Ig","Rh","Sh","Th","pendingProps","Uh","Qh","Ph","Oh","Vh","Wh","Xh","Yg","Xg","Zh","$h","ai","bi","ci","di","ei","fi","gi","Yh","hi","pendingContext","ji","fallback","unstable_avoidThisFallback","ii","ki","li","isBackwards","renderingStartTime","last","tail","tailExpiration","tailMode","mi","ri","si","oi","pi","wasMultiple","multiple","onclick","qd","innerHTML","removeChild","createElementNS","ni","Qb","qi","ti","ui","vi","wi","xi","yi","$f","zi","Ai","Ci","Di","Ei","Fi","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","insertBefore","appendChild","_reactRootContainer","Si","Ti","display","Ui","Bi","Vi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","fj","gj","wj","timeoutMs","uj","vj","xj","ej","yj","tj","zj","lastExpiredTime","firstPendingTime","Aj","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","cj","hj","kj","finishedWork","finishedExpirationTime","ij","lastSuspendedTime","Ij","lj","pj","oj","Hd","Jj","mj","bj","jj","nj","busyMinDurationMs","busyDelayMs","Kj","Lj","Mj","Nj","Id","pingCache","Wi","Oj","ub","Pj","Xc","Qj","Uf","Rj","dj","Sj","rj","firstSuspendedTime","Dd","rangeCount","wb","Ed","activeElementDetached","focusedElem","selectionRange","Tj","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","vb","Vf","qj","sj","Uj","Vj","Wj","Yj","isDisabled","supportsFiber","onCommitFiberRoot","onCommitFiberUnmount","Zj","Xj","fb","pendingChildren","ak","bk","ck","dk","retryTime","ek","fk","_internalRoot","gk","hk","hasAttribute","ik","jk","kk","Ua","xlinkHref","Wa","Pb","Mb","html","mathml","svg","MSApp","execUnsafeLocalFunction","animationend","animationiteration","animationstart","transitionend","animation","transition","Xb","Yb","Zb","$b","$c","bd","cd","unstable_UserBlockingPriority","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","wbr","Ld","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","ge","he","ke","documentMode","le","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","ve","color","date","datetime","email","month","number","password","range","tel","time","week","Fe","Me","_isInputEventSupported","Ne","Alt","Control","Meta","Shift","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","parentWindow","cf","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","xf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","unstable_LowPriority","unstable_IdlePriority","unstable_shouldYield","Zf","readContext","useResponder","useDeferredValue","useTransition","WeakSet","ceil","hidden","unstable_observedBits","unmount","querySelectorAll","lk","Events","findFiberByHostInstance","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","sortIndex","priorityLevel","MessageChannel","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","floor","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","App","__WEBPACK_IMPORTED_MODULE_1_react_router_dom__","__WEBPACK_IMPORTED_MODULE_2__components_Layout_Header__","__WEBPACK_IMPORTED_MODULE_3__views_Home__","__WEBPACK_IMPORTED_MODULE_4__views_Download__","__WEBPACK_IMPORTED_MODULE_5_mobx_react__","__WEBPACK_IMPORTED_MODULE_6__mobx_store__","__WEBPACK_IMPORTED_MODULE_7__index_less__","__WEBPACK_IMPORTED_MODULE_8__animations_less__","Home","Download","BrowserRouter","emptyFunction","emptyFunctionWithReset","ReactPropTypesSecret","resetWarningCache","shim","secret","getShim","ReactPropTypes","bigint","any","arrayOf","instanceOf","objectOf","oneOf","checkPropTypes","PropTypes","isAbsolute","spliceOne","resolvePathname","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","hasTrailingSlash","up","part","valueEqual","every","aValue","bValue","isProduction","provided","HashRouter","MemoryRouter","NavLink","activeClassName","activeStyle","getIsActive","ariaCurrent","escapedPath","Prompt","when","Redirect","isStatic","perform","prevTo","nextTo","computeTo","addBasename","createURL","staticHandler","StaticRouter","handlePush","handleReplace","_this$props2","handleListen","handleBlock","Switch","_element$props","pathProp","withRouter","wrappedComponentRef","remainingProps","routeComponentProps","WrappedComponent","Header","__WEBPACK_IMPORTED_MODULE_2_mobx_react__","__WEBPACK_IMPORTED_MODULE_4__mobx_store__","changeEN","changeLanguage","changeCN","home","download","rel","redrock","aboutus","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","len","Item","nextTick","title","browser","env","argv","versions","on","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","cn","sidebar","function","community","schoolbus","query","subTitle","description","kebiao","kongjiaoshi","meikeyue","question","q1","q2","q3","q4","androidVersionTitle","iphoneVersionTitle","en","getFullYear","__WEBPACK_IMPORTED_MODULE_4__components_pages_Index__","__WEBPACK_IMPORTED_MODULE_5__components_pages_Function__","__WEBPACK_IMPORTED_MODULE_6__components_pages_Community__","__WEBPACK_IMPORTED_MODULE_7__components_pages_Query__","__WEBPACK_IMPORTED_MODULE_8__components_pages_Schoolbus__","__WEBPACK_IMPORTED_MODULE_9__components_Sidebar__","isScrolling","changeClass","changeIndex","onClicked","changePath","onmousewheel","Index","__WEBPACK_IMPORTED_MODULE_3_react_router_dom__","__WEBPACK_IMPORTED_MODULE_4__index_less__","completed","Community","animationDelay","Query","__WEBPACK_IMPORTED_MODULE_3__components_Layout_Footer__","Schoolbus","changeActiveClass","__WEBPACK_IMPORTED_MODULE_1_qrcode_react__","__WEBPACK_IMPORTED_MODULE_1_qrcode_react___default","__WEBPACK_IMPORTED_MODULE_3__mobx_store__","__WEBPACK_IMPORTED_MODULE_4__components_Layout_Footer__","__WEBPACK_IMPORTED_MODULE_5__index_less__","androidVersion","iosVersion","androidLink","iosLink","version_name","apk_url","catch","enumerableOnly","sym","_objectSpread","getOwnPropertyDescriptors","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","construct","sham","Boolean","convertStr","out","charcode","margin","ops","row","cell","excavateModules","excavation","getImageSettings","cells","imageSettings","includeMargin","MARGIN_SIZE","numCells","defaultSize","DEFAULT_IMG_SCALE","scale","excavate","floorX","floorY","_excluded","_excluded2","_excluded3","QRCodeImpl","ErrorCorrectLevel","DEFAULT_PROPS","level","bgColor","fgColor","SUPPORTS_PATH2D","Path2D","addPath","QRCodeCanvas","_React$PureComponent","imgLoaded","_image","complete","handleImageLoad","update","_this$props$imageSett","_nextProps$imageSetti","src","qrcode","addData","make","_canvas","canvas","ctx","getContext","calculatedImageSettings","pixelRatio","devicePixelRatio","fillStyle","fillRect","fill","rdx","cdx","drawImage","otherProps","canvasStyle","imgSrc","onLoad","QRCodeSVG","_React$PureComponent2","_super2","_this$props3","image","preserveAspectRatio","fgPath","shapeRendering","viewBox","QRCode","renderAs","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","BitByte","RSBlock","BitBuffer","util","Polynomial","newData","isDark","getModuleCount","rsBlocks","getRSBlocks","totalDataCount","dataCount","put","getLengthInBits","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","qr_mc","createEmptyMovieClip","dark","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","mask","getMask","PAD0","PAD1","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","rawPoly","modPoly","modIndex","totalCodeCount","QR8bitByte","QRRSBlock","ECL","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","QRBitBuffer","bufIndex","bit","Mode","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","qrCode","sameCount","darkCount","abs"],"mappings":"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","file":"static/js/main.5880b130.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 27);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (true) {\n module.exports = __webpack_require__(34);\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(40)();\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export propTypes */\n/* unused harmony export PropTypes */\n/* unused harmony export onError */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return observer; });\n/* unused harmony export Observer */\n/* unused harmony export renderReporter */\n/* unused harmony export componentByNodeRegistery */\n/* unused harmony export componentByNodeRegistry */\n/* unused harmony export trackComponents */\n/* unused harmony export useStaticRendering */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Provider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return inject; });\n/* unused harmony export disposeOnUnmount */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mobx__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_dom__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_dom__);\n/** @license mobx-react v5.4.4\n * index.module.js\n *\n * Copyright (c) 2015 Michel Weststrate.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\n// These functions can be stubbed out in specific environments\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x.default : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar reactIs_production_min = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,r=b?Symbol.for(\"react.memo\"):\n60115,t=b?Symbol.for(\"react.lazy\"):60116;function u(a){if(\"object\"===typeof a&&null!==a){var q=a.$$typeof;switch(q){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return q}}case d:return q}}}function v(a){return u(a)===m}exports.typeOf=u;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;\nexports.Profiler=g;exports.Portal=d;exports.StrictMode=f;exports.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||u(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return u(a)===k};exports.isContextProvider=function(a){return u(a)===h};\nexports.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return u(a)===n};exports.isFragment=function(a){return u(a)===e};exports.isProfiler=function(a){return u(a)===g};exports.isPortal=function(a){return u(a)===d};exports.isStrictMode=function(a){return u(a)===f};\n});\n\nunwrapExports(reactIs_production_min);\nvar reactIs_production_min_1 = reactIs_production_min.typeOf;\nvar reactIs_production_min_2 = reactIs_production_min.AsyncMode;\nvar reactIs_production_min_3 = reactIs_production_min.ConcurrentMode;\nvar reactIs_production_min_4 = reactIs_production_min.ContextConsumer;\nvar reactIs_production_min_5 = reactIs_production_min.ContextProvider;\nvar reactIs_production_min_6 = reactIs_production_min.Element;\nvar reactIs_production_min_7 = reactIs_production_min.ForwardRef;\nvar reactIs_production_min_8 = reactIs_production_min.Fragment;\nvar reactIs_production_min_9 = reactIs_production_min.Profiler;\nvar reactIs_production_min_10 = reactIs_production_min.Portal;\nvar reactIs_production_min_11 = reactIs_production_min.StrictMode;\nvar reactIs_production_min_12 = reactIs_production_min.isValidElementType;\nvar reactIs_production_min_13 = reactIs_production_min.isAsyncMode;\nvar reactIs_production_min_14 = reactIs_production_min.isConcurrentMode;\nvar reactIs_production_min_15 = reactIs_production_min.isContextConsumer;\nvar reactIs_production_min_16 = reactIs_production_min.isContextProvider;\nvar reactIs_production_min_17 = reactIs_production_min.isElement;\nvar reactIs_production_min_18 = reactIs_production_min.isForwardRef;\nvar reactIs_production_min_19 = reactIs_production_min.isFragment;\nvar reactIs_production_min_20 = reactIs_production_min.isProfiler;\nvar reactIs_production_min_21 = reactIs_production_min.isPortal;\nvar reactIs_production_min_22 = reactIs_production_min.isStrictMode;\n\nvar reactIs = createCommonjsModule(function (module) {\n\n{\n module.exports = reactIs_production_min;\n}\n});\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = TYPE_STATICS[targetComponent['$$typeof']] || REACT_STATICS;\n var sourceStatics = TYPE_STATICS[sourceComponent['$$typeof']] || REACT_STATICS;\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nvar hoistNonReactStatics_cjs = hoistNonReactStatics;\n\nvar EventEmitter =\n/*#__PURE__*/\nfunction () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.listeners = [];\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(cb) {\n var _this = this;\n\n this.listeners.push(cb);\n return function () {\n var index = _this.listeners.indexOf(cb);\n\n if (index !== -1) _this.listeners.splice(index, 1);\n };\n }\n }, {\n key: \"emit\",\n value: function emit(data) {\n this.listeners.forEach(function (fn) {\n return fn(data);\n });\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n rest[_key - 6] = arguments[_key];\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"m\" /* untracked */])(function () {\n componentName = componentName || \"<>\";\n propFullName = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n var actual = props[propName] === null ? \"null\" : \"undefined\";\n return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n }\n\n return null;\n } else {\n return validate.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n }\n });\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n var propType = _typeof(propValue);\n\n if (Array.isArray(propValue)) {\n return \"array\";\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\";\n }\n\n if (isSymbol(propType, propValue)) {\n return \"symbol\";\n }\n\n return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\";\n } else if (propValue instanceof RegExp) {\n return \"regexp\";\n }\n }\n\n return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"m\" /* untracked */])(function () {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n }\n\n var mobxChecker;\n\n switch (mobxType) {\n case \"Array\":\n mobxChecker = __WEBPACK_IMPORTED_MODULE_0_mobx__[\"h\" /* isObservableArray */];\n break;\n\n case \"Object\":\n mobxChecker = __WEBPACK_IMPORTED_MODULE_0_mobx__[\"j\" /* isObservableObject */];\n break;\n\n case \"Map\":\n mobxChecker = __WEBPACK_IMPORTED_MODULE_0_mobx__[\"i\" /* isObservableMap */];\n break;\n\n default:\n throw new Error(\"Unexpected mobxType: \".concat(mobxType));\n }\n\n var propValue = props[propName];\n\n if (!mobxChecker(propValue)) {\n var preciseType = getPreciseType(propValue);\n var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n }\n\n return null;\n });\n });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n rest[_key2 - 5] = arguments[_key2];\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"m\" /* untracked */])(function () {\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n }\n\n var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName);\n if (error instanceof Error) return error;\n var propValue = props[propName];\n\n for (var i = 0; i < propValue.length; i++) {\n error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n if (error instanceof Error) return error;\n }\n\n return null;\n });\n });\n}\n\nvar observableArray = createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = createObservableTypeCheckerCreator(true, \"Object\");\n\nvar propTypes = /*#__PURE__*/Object.freeze({\n observableArray: observableArray,\n observableArrayOf: observableArrayOf,\n observableMap: observableMap,\n observableObject: observableObject,\n arrayOrObservableArray: arrayOrObservableArray,\n arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n objectOrObservableObject: objectOrObservableObject\n});\n\nfunction isStateless(component) {\n // `function() {}` has prototype, but `() => {}` doesn't\n // `() => {}` via Babel has prototype too.\n return !(component.prototype && component.prototype.render);\n}\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n if (typeof Symbol === \"function\") {\n return Symbol(name);\n }\n\n var symbol = \"__$mobx-react \".concat(name, \" (\").concat(symbolId, \")\");\n symbolId++;\n return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name);\n }\n\n return createdSymbols[name];\n}\nvar mobxMixins = newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n var mixins = target[mobxMixins] = target[mobxMixins] || {};\n var methodMixins = mixins[methodName] = mixins[methodName] || {};\n methodMixins.locks = methodMixins.locks || 0;\n methodMixins.methods = methodMixins.methods || [];\n return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++;\n\n try {\n var retVal;\n\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args);\n }\n\n return retVal;\n } finally {\n mixins.locks--;\n\n if (mixins.locks === 0) {\n mixins.methods.forEach(function (mx) {\n mx.apply(_this, args);\n });\n }\n }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n var fn = function fn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n };\n\n return fn;\n}\n\nfunction patch(target, methodName) {\n var mixins = getMixins(target, methodName);\n\n for (var _len3 = arguments.length, mixinMethods = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n mixinMethods[_key3 - 2] = arguments[_key3];\n }\n\n for (var _i = 0; _i < mixinMethods.length; _i++) {\n var mixinMethod = mixinMethods[_i];\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod);\n }\n }\n\n var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return;\n }\n\n var originalMethod = target[methodName];\n var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n var _ref;\n\n var wrappedFunc = wrapFunction(originalMethod, mixins);\n return _ref = {}, _defineProperty(_ref, mobxPatchedDefinition, true), _defineProperty(_ref, \"get\", function get() {\n return wrappedFunc;\n }), _defineProperty(_ref, \"set\", function set(value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins);\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n Object.defineProperty(this, methodName, newDefinition);\n }\n }), _defineProperty(_ref, \"configurable\", true), _defineProperty(_ref, \"enumerable\", enumerable), _ref;\n}\n\nvar injectorContextTypes = {\n mobxStores: objectOrObservableObject\n};\nObject.seal(injectorContextTypes);\nvar proxiedInjectorProps = {\n contextTypes: {\n get: function get() {\n return injectorContextTypes;\n },\n set: function set(_) {\n console.warn(\"Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`\");\n },\n configurable: true,\n enumerable: false\n },\n isMobxInjector: {\n value: true,\n writable: true,\n configurable: true,\n enumerable: true\n }\n /**\n * Store Injection\n */\n\n};\n\nfunction createStoreInjector(grabStoresFn, component, injectNames) {\n var displayName = \"inject-\" + (component.displayName || component.name || component.constructor && component.constructor.name || \"Unknown\");\n if (injectNames) displayName += \"-with-\" + injectNames;\n\n var Injector =\n /*#__PURE__*/\n function (_Component) {\n _inherits(Injector, _Component);\n\n function Injector() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Injector);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Injector)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.storeRef = function (instance) {\n _this.wrappedInstance = instance;\n };\n\n return _this;\n }\n\n _createClass(Injector, [{\n key: \"render\",\n value: function render() {\n // Optimization: it might be more efficient to apply the mapper function *outside* the render method\n // (if the mapper is a function), that could avoid expensive(?) re-rendering of the injector component\n // See this test: 'using a custom injector is not too reactive' in inject.js\n var newProps = {};\n\n for (var key in this.props) {\n if (this.props.hasOwnProperty(key)) {\n newProps[key] = this.props[key];\n }\n }\n\n var additionalProps = grabStoresFn(this.context.mobxStores || {}, newProps, this.context) || {};\n\n for (var _key2 in additionalProps) {\n newProps[_key2] = additionalProps[_key2];\n }\n\n if (!isStateless(component)) {\n newProps.ref = this.storeRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_1_react__[\"createElement\"])(component, newProps);\n }\n }]);\n\n return Injector;\n }(__WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"]); // Static fields from component should be visible on the generated Injector\n\n\n Injector.displayName = displayName;\n hoistNonReactStatics_cjs(Injector, component);\n Injector.wrappedComponent = component;\n Object.defineProperties(Injector, proxiedInjectorProps);\n return Injector;\n}\n\nfunction grabStoresByName(storeNames) {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (storeName in nextProps // prefer props over stores\n ) return;\n if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n nextProps[storeName] = baseStores[storeName];\n });\n return nextProps;\n };\n}\n/**\n * higher order component that injects stores to a child.\n * takes either a varargs list of strings, which are stores read from the context,\n * or a function that manually maps the available stores from the context to props:\n * storesToProps(mobxStores, props, context) => newProps\n */\n\n\nfunction inject()\n/* fn(stores, nextProps) or ...storeNames */\n{\n var grabStoresFn;\n\n if (typeof arguments[0] === \"function\") {\n grabStoresFn = arguments[0];\n return function (componentClass) {\n var injected = createStoreInjector(grabStoresFn, componentClass);\n injected.isMobxInjector = false; // supress warning\n // mark the Injector as observer, to make it react to expressions in `grabStoresFn`,\n // see #111\n\n injected = observer(injected);\n injected.isMobxInjector = true; // restore warning\n\n return injected;\n };\n } else {\n var storeNames = [];\n\n for (var i = 0; i < arguments.length; i++) {\n storeNames[i] = arguments[i];\n }\n\n grabStoresFn = grabStoresByName(storeNames);\n return function (componentClass) {\n return createStoreInjector(grabStoresFn, componentClass, storeNames.join(\"-\"));\n };\n }\n}\n\nvar mobxAdminProperty = __WEBPACK_IMPORTED_MODULE_0_mobx__[\"a\" /* $mobx */] || \"$mobx\";\nvar mobxIsUnmounted = newSymbol(\"isUnmounted\");\n/**\n * dev tool support\n */\n\nvar isDevtoolsEnabled = false;\nvar isUsingStaticRendering = false;\nvar warnedAboutObserverInjectDeprecation = false; // WeakMap;\n\nvar componentByNodeRegistry = typeof WeakMap !== \"undefined\" ? new WeakMap() : undefined;\nvar renderReporter = new EventEmitter();\nvar skipRenderKey = newSymbol(\"skipRender\");\nvar isForcingUpdateKey = newSymbol(\"isForcingUpdate\"); // Using react-is had some issues (and operates on elements, not on types), see #608 / #609\n\nvar ReactForwardRefSymbol = typeof __WEBPACK_IMPORTED_MODULE_1_react__[\"forwardRef\"] === \"function\" && Object(__WEBPACK_IMPORTED_MODULE_1_react__[\"forwardRef\"])(function (_props, _ref) {})[\"$$typeof\"];\n/**\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\n * @param target\n * @param prop\n * @param value\n */\n\nfunction setHiddenProp(target, prop, value) {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n target[prop] = value;\n }\n}\n\nfunction findDOMNode$2(component) {\n if (__WEBPACK_IMPORTED_MODULE_2_react_dom__[\"findDOMNode\"]) {\n try {\n return Object(__WEBPACK_IMPORTED_MODULE_2_react_dom__[\"findDOMNode\"])(component);\n } catch (e) {\n // findDOMNode will throw in react-test-renderer, see:\n // See https://github.com/mobxjs/mobx-react/issues/216\n // Is there a better heuristic?\n return null;\n }\n }\n\n return null;\n}\n\nfunction reportRendering(component) {\n var node = findDOMNode$2(component);\n if (node && componentByNodeRegistry) componentByNodeRegistry.set(node, component);\n renderReporter.emit({\n event: \"render\",\n renderTime: component.__$mobRenderEnd - component.__$mobRenderStart,\n totalTime: Date.now() - component.__$mobRenderStart,\n component: component,\n node: node\n });\n}\n\nfunction trackComponents() {\n if (typeof WeakMap === \"undefined\") throw new Error(\"[mobx-react] tracking components is not supported in this browser.\");\n if (!isDevtoolsEnabled) isDevtoolsEnabled = true;\n}\nfunction useStaticRendering(useStaticRendering) {\n isUsingStaticRendering = useStaticRendering;\n}\n/**\n * Errors reporter\n */\n\nvar errorsReporter = new EventEmitter();\n/**\n * Utilities\n */\n\nfunction patch$1(target, funcName) {\n patch(target, funcName, reactiveMixin[funcName]);\n}\n\nfunction shallowEqual(objA, objB) {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) return true;\n\n if (_typeof(objA) !== \"object\" || objA === null || _typeof(objB) !== \"object\" || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction makeComponentReactive(render) {\n var _this2 = this;\n\n if (isUsingStaticRendering === true) return render.call(this);\n\n function reactiveRender() {\n var _this = this;\n\n isRenderingPending = false;\n var exception = undefined;\n var rendering = undefined;\n reaction.track(function () {\n if (isDevtoolsEnabled) {\n _this.__$mobRenderStart = Date.now();\n }\n\n try {\n rendering = Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"c\" /* _allowStateChanges */])(false, baseRender);\n } catch (e) {\n exception = e;\n }\n\n if (isDevtoolsEnabled) {\n _this.__$mobRenderEnd = Date.now();\n }\n });\n\n if (exception) {\n errorsReporter.emit(exception);\n throw exception;\n }\n\n return rendering;\n } // Generate friendly name for debugging\n\n\n var initialName = this.displayName || this.name || this.constructor && (this.constructor.displayName || this.constructor.name) || \"\";\n var rootNodeID = this._reactInternalInstance && this._reactInternalInstance._rootNodeID || this._reactInternalInstance && this._reactInternalInstance._debugID || this._reactInternalFiber && this._reactInternalFiber._debugID;\n /**\n * If props are shallowly modified, react will render anyway,\n * so atom.reportChanged() should not result in yet another re-render\n */\n\n setHiddenProp(this, skipRenderKey, false);\n /**\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\n * so detect these changes\n */\n\n setHiddenProp(this, isForcingUpdateKey, false); // wire up reactive render\n\n var baseRender = render.bind(this);\n var isRenderingPending = false;\n var reaction = new __WEBPACK_IMPORTED_MODULE_0_mobx__[\"b\" /* Reaction */](\"\".concat(initialName, \"#\").concat(rootNodeID, \".render()\"), function () {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true;\n if (typeof _this2.componentWillReact === \"function\") _this2.componentWillReact(); // TODO: wrap in action?\n\n if (_this2[mobxIsUnmounted] !== true) {\n // If we are unmounted at this point, componentWillReact() had a side effect causing the component to unmounted\n // TODO: remove this check? Then react will properly warn about the fact that this should not happen? See #73\n // However, people also claim this might happen during unit tests..\n var hasError = true;\n\n try {\n setHiddenProp(_this2, isForcingUpdateKey, true);\n if (!_this2[skipRenderKey]) __WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"].prototype.forceUpdate.call(_this2);\n hasError = false;\n } finally {\n setHiddenProp(_this2, isForcingUpdateKey, false);\n if (hasError) reaction.dispose();\n }\n }\n }\n });\n reaction.reactComponent = this;\n reactiveRender[mobxAdminProperty] = reaction;\n this.render = reactiveRender;\n return reactiveRender.call(this);\n}\n/**\n * ReactiveMixin\n */\n\n\nvar reactiveMixin = {\n componentWillUnmount: function componentWillUnmount() {\n if (isUsingStaticRendering === true) return;\n this.render[mobxAdminProperty] && this.render[mobxAdminProperty].dispose();\n this[mobxIsUnmounted] = true;\n\n if (isDevtoolsEnabled) {\n var node = findDOMNode$2(this);\n\n if (node && componentByNodeRegistry) {\n componentByNodeRegistry.delete(node);\n }\n\n renderReporter.emit({\n event: \"destroy\",\n component: this,\n node: node\n });\n }\n },\n componentDidMount: function componentDidMount() {\n if (isDevtoolsEnabled) {\n reportRendering(this);\n }\n },\n componentDidUpdate: function componentDidUpdate() {\n if (isDevtoolsEnabled) {\n reportRendering(this);\n }\n },\n shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {\n if (isUsingStaticRendering) {\n console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n } // update on any state changes (as is the default)\n\n\n if (this.state !== nextState) {\n return true;\n } // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n\n\n return !shallowEqual(this.props, nextProps);\n }\n};\n\nfunction makeObservableProp(target, propName) {\n var valueHolderKey = newSymbol(\"reactProp_\".concat(propName, \"_valueHolder\"));\n var atomHolderKey = newSymbol(\"reactProp_\".concat(propName, \"_atomHolder\"));\n\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"f\" /* createAtom */])(\"reactive \" + propName));\n }\n\n return this[atomHolderKey];\n }\n\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function get() {\n getAtom.call(this).reportObserved();\n return this[valueHolderKey];\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v);\n setHiddenProp(this, skipRenderKey, true);\n getAtom.call(this).reportChanged();\n setHiddenProp(this, skipRenderKey, false);\n } else {\n setHiddenProp(this, valueHolderKey, v);\n }\n }\n });\n}\n/**\n * Observer function / decorator\n */\n\n\nfunction observer(arg1, arg2) {\n if (typeof arg1 === \"string\") {\n throw new Error(\"Store names should be provided as array\");\n }\n\n if (Array.isArray(arg1)) {\n // TODO: remove in next major\n // component needs stores\n if (!warnedAboutObserverInjectDeprecation) {\n warnedAboutObserverInjectDeprecation = true;\n console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject(\"store1\", \"store2\") @observer ComponentClass` or `inject(\"store1\", \"store2\")(observer(componentClass))` instead of `@observer([\"store1\", \"store2\"]) ComponentClass`');\n }\n\n if (!arg2) {\n // invoked as decorator\n return function (componentClass) {\n return observer(arg1, componentClass);\n };\n } else {\n return inject.apply(null, arg1)(observer(arg2));\n }\n }\n\n var componentClass = arg1;\n\n if (componentClass.isMobxInjector === true) {\n console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\");\n }\n\n if (componentClass.__proto__ === __WEBPACK_IMPORTED_MODULE_1_react__[\"PureComponent\"]) {\n console.warn(\"Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together\");\n } // Unwrap forward refs into `` component\n // we need to unwrap the render, because it is the inner render that needs to be tracked,\n // not the ForwardRef HoC\n\n\n if (ReactForwardRefSymbol && componentClass[\"$$typeof\"] === ReactForwardRefSymbol) {\n var _baseRender = componentClass.render;\n if (typeof _baseRender !== \"function\") throw new Error(\"render property of ForwardRef was not a function\"); // TODO: do we need to hoist statics from baseRender to the forward ref?\n\n return Object(__WEBPACK_IMPORTED_MODULE_1_react__[\"forwardRef\"])(function ObserverForwardRef() {\n var _arguments = arguments;\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(Observer, null, function () {\n return _baseRender.apply(undefined, _arguments);\n });\n });\n } // Stateless function component:\n // If it is function but doesn't seem to be a react class constructor,\n // wrap it to a react class automatically\n\n\n if (typeof componentClass === \"function\" && (!componentClass.prototype || !componentClass.prototype.render) && !componentClass.isReactClass && !__WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"].isPrototypeOf(componentClass)) {\n var _class, _temp;\n\n var observerComponent = observer((_temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inherits(_class, _Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render() {\n return componentClass.call(this, this.props, this.context);\n }\n }]);\n\n return _class;\n }(__WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"]), _class.displayName = componentClass.displayName || componentClass.name, _class.contextTypes = componentClass.contextTypes, _class.propTypes = componentClass.propTypes, _class.defaultProps = componentClass.defaultProps, _temp));\n hoistNonReactStatics_cjs(observerComponent, componentClass);\n return observerComponent;\n }\n\n if (!componentClass) {\n throw new Error(\"Please pass a valid component to 'observer'\");\n }\n\n var target = componentClass.prototype || componentClass;\n mixinLifecycleEvents(target);\n componentClass.isMobXReactObserver = true;\n makeObservableProp(target, \"props\");\n makeObservableProp(target, \"state\");\n var baseRender = target.render;\n\n target.render = function () {\n return makeComponentReactive.call(this, baseRender);\n };\n\n return componentClass;\n}\n\nfunction mixinLifecycleEvents(target) {\n [\"componentDidMount\", \"componentWillUnmount\", \"componentDidUpdate\"].forEach(function (funcName) {\n patch$1(target, funcName);\n });\n\n if (!target.shouldComponentUpdate) {\n target.shouldComponentUpdate = reactiveMixin.shouldComponentUpdate;\n } else {\n if (target.shouldComponentUpdate !== reactiveMixin.shouldComponentUpdate) {\n // TODO: make throw in next major\n console.warn(\"Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react.\");\n }\n }\n}\n\nvar Observer = observer(function (_ref2) {\n var children = _ref2.children,\n observerInject = _ref2.inject,\n render = _ref2.render;\n var component = children || render;\n\n if (typeof component === \"undefined\") {\n return null;\n }\n\n if (!observerInject) {\n return component();\n } // TODO: remove in next major\n\n\n console.warn(\" is no longer supported. Please use inject on the enclosing component instead\");\n var InjectComponent = inject(observerInject)(component);\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(InjectComponent, null);\n});\nObserver.displayName = \"Observer\";\n\nvar ObserverPropsCheck = function ObserverPropsCheck(props, key, componentName, location, propFullName) {\n var extraKey = key === \"children\" ? \"render\" : \"children\";\n\n if (typeof props[key] === \"function\" && typeof props[extraKey] === \"function\") {\n return new Error(\"Invalid prop,do not use children and render in the same time in`\" + componentName);\n }\n\n if (typeof props[key] === \"function\" || typeof props[extraKey] === \"function\") {\n return;\n }\n\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + _typeof(props[key]) + \"` supplied to\" + \" `\" + componentName + \"`, expected `function`.\");\n};\n\nObserver.propTypes = {\n render: ObserverPropsCheck,\n children: ObserverPropsCheck\n};\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component$$1) {\n var prototype = Component$$1.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component$$1.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component$$1;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component$$1.displayName || Component$$1.name;\n var newApiName =\n typeof Component$$1.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component$$1.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component$$1;\n}\n\nvar specialReactKeys = {\n children: true,\n key: true,\n ref: true\n};\n\nvar Provider =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Provider, _Component);\n\n function Provider(props, context) {\n var _this;\n\n _classCallCheck(this, Provider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Provider).call(this, props, context));\n _this.state = {};\n copyStores(props, _this.state);\n return _this;\n }\n\n _createClass(Provider, [{\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react__[\"Children\"].only(this.props.children);\n }\n }, {\n key: \"getChildContext\",\n value: function getChildContext() {\n var stores = {}; // inherit stores\n\n copyStores(this.context.mobxStores, stores); // add own stores\n\n copyStores(this.props, stores);\n return {\n mobxStores: stores\n };\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (!nextProps) return null;\n if (!prevState) return nextProps; // Maybe this warning is too aggressive?\n\n if (Object.keys(nextProps).filter(validStoreName).length !== Object.keys(prevState).filter(validStoreName).length) console.warn(\"MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children\");\n if (!nextProps.suppressChangedStoreWarning) for (var key in nextProps) {\n if (validStoreName(key) && prevState[key] !== nextProps[key]) console.warn(\"MobX Provider: Provided store '\" + key + \"' has changed. Please avoid replacing stores as the change might not propagate to all children\");\n }\n return nextProps;\n }\n }]);\n\n return Provider;\n}(__WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"]);\n\nProvider.contextTypes = {\n mobxStores: objectOrObservableObject\n};\nProvider.childContextTypes = {\n mobxStores: objectOrObservableObject.isRequired\n};\n\nfunction copyStores(from, to) {\n if (!from) return;\n\n for (var key in from) {\n if (validStoreName(key)) to[key] = from[key];\n }\n}\n\nfunction validStoreName(key) {\n return !specialReactKeys[key] && key !== \"suppressChangedStoreWarning\";\n} // TODO: kill in next major\n\n\npolyfill(Provider);\n\nvar storeKey = newSymbol(\"disposeOnUnmount\");\n\nfunction runDisposersOnWillUnmount() {\n var _this = this;\n\n if (!this[storeKey]) {\n // when disposeOnUnmount is only set to some instances of a component it will still patch the prototype\n return;\n }\n\n this[storeKey].forEach(function (propKeyOrFunction) {\n var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n if (prop !== undefined && prop !== null) {\n if (typeof prop !== \"function\") {\n throw new Error(\"[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.\");\n }\n\n prop();\n }\n });\n this[storeKey] = [];\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(function (fn) {\n return disposeOnUnmount(target, fn);\n });\n }\n\n if (!target instanceof __WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"]) {\n throw new Error(\"[mobx-react] disposeOnUnmount only works on class based React components.\");\n }\n\n if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\") {\n throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n } // add property key / function we want run (disposed) to the store\n\n\n var componentWasAlreadyModified = !!target[storeKey];\n var store = target[storeKey] || (target[storeKey] = []);\n store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n } // return the disposer as is if invoked as a non decorator\n\n\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction;\n }\n}\n\nif (!__WEBPACK_IMPORTED_MODULE_1_react__[\"Component\"]) throw new Error(\"mobx-react requires React to be available\");\nif (!__WEBPACK_IMPORTED_MODULE_0_mobx__[\"l\" /* spy */]) throw new Error(\"mobx-react requires mobx to be available\");\nif (typeof __WEBPACK_IMPORTED_MODULE_2_react_dom__[\"unstable_batchedUpdates\"] === \"function\") Object(__WEBPACK_IMPORTED_MODULE_0_mobx__[\"e\" /* configure */])({\n reactionScheduler: __WEBPACK_IMPORTED_MODULE_2_react_dom__[\"unstable_batchedUpdates\"]\n});\nvar onError = function onError(fn) {\n return errorsReporter.on(fn);\n};\n\nif ((typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"undefined\" ? \"undefined\" : _typeof(__MOBX_DEVTOOLS_GLOBAL_HOOK__)) === \"object\") {\n var mobx = {\n spy: __WEBPACK_IMPORTED_MODULE_0_mobx__[\"l\" /* spy */],\n extras: {\n getDebugName: __WEBPACK_IMPORTED_MODULE_0_mobx__[\"g\" /* getDebugName */]\n }\n };\n var mobxReact = {\n renderReporter: renderReporter,\n componentByNodeRegistry: componentByNodeRegistry,\n componentByNodeRegistery: componentByNodeRegistry,\n trackComponents: trackComponents\n };\n\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(mobxReact, mobx);\n}\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mobx__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__data__ = __webpack_require__(68);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (false) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return createBrowserHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return createHashHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return createMemoryHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return createLocation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return locationsAreEqual; });\n/* unused harmony export parsePath */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return createPath; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_resolve_pathname__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_value_equal__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_tiny_warning__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_tiny_invariant__ = __webpack_require__(46);\n\n\n\n\n\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__[\"a\" /* default */])({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = Object(__WEBPACK_IMPORTED_MODULE_1_resolve_pathname__[\"a\" /* default */])(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && Object(__WEBPACK_IMPORTED_MODULE_2_value_equal__[\"a\" /* default */])(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n false ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n false ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? false ? invariant(false, 'Browser history needs a DOM') : Object(__WEBPACK_IMPORTED_MODULE_4_tiny_invariant__[\"a\" /* default */])(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n false ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__[\"a\" /* default */])(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n false ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n false ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? false ? invariant(false, 'Hash history needs a DOM') : Object(__WEBPACK_IMPORTED_MODULE_4_tiny_invariant__[\"a\" /* default */])(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n false ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__[\"a\" /* default */])(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n false ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n false ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n false ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n false ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_extends__[\"a\" /* default */])(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n false ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BrowserRouter__ = __webpack_require__(39);\n/* unused harmony reexport BrowserRouter */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__HashRouter__ = __webpack_require__(47);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__HashRouter__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Link__ = __webpack_require__(15);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__Link__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MemoryRouter__ = __webpack_require__(48);\n/* unused harmony reexport MemoryRouter */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__NavLink__ = __webpack_require__(50);\n/* unused harmony reexport NavLink */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Prompt__ = __webpack_require__(52);\n/* unused harmony reexport Prompt */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Redirect__ = __webpack_require__(54);\n/* unused harmony reexport Redirect */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Route__ = __webpack_require__(16);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_7__Route__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Router__ = __webpack_require__(9);\n/* unused harmony reexport Router */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__StaticRouter__ = __webpack_require__(56);\n/* unused harmony reexport StaticRouter */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Switch__ = __webpack_require__(58);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_10__Switch__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__generatePath__ = __webpack_require__(60);\n/* unused harmony reexport generatePath */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__matchPath__ = __webpack_require__(61);\n/* unused harmony reexport matchPath */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__withRouter__ = __webpack_require__(62);\n/* unused harmony reexport withRouter */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Router__ = __webpack_require__(10);\n// Written in this round about way for babel-transform-imports\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Router__[\"a\" /* default */]);\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = function (_React$Component) {\n _inherits(Router, _React$Component);\n\n function Router() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props.history.location.pathname)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Router.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n history: this.props.history,\n route: {\n location: this.props.history.location,\n match: this.state.match\n }\n })\n };\n };\n\n Router.prototype.computeMatch = function computeMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n Router.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n history = _props.history;\n\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(children == null || __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.count(children) === 1, \"A may have only one child element\");\n\n // Do this here so we can setState when a changes the\n // location in componentWillMount. This happens e.g. when doing\n // server rendering using a .\n this.unlisten = history.listen(function () {\n _this2.setState({\n match: _this2.computeMatch(history.location.pathname)\n });\n });\n };\n\n Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(this.props.history === nextProps.history, \"You cannot change \");\n };\n\n Router.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unlisten();\n };\n\n Router.prototype.render = function render() {\n var children = this.props.children;\n\n return children ? __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.only(children) : null;\n };\n\n return Router;\n}(__WEBPACK_IMPORTED_MODULE_2_react___default.a.Component);\n\nRouter.propTypes = {\n history: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired,\n children: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.node\n};\nRouter.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object\n};\nRouter.childContextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Router);\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_path_to_regexp__);\n\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compilePath = function compilePath(pattern, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var keys = [];\n var re = __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default()(pattern, keys, options);\n var compiledPattern = { re: re, keys: keys };\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledPattern;\n cacheCount++;\n }\n\n return compiledPattern;\n};\n\n/**\n * Public API for matching a URL pathname to a path pattern.\n */\nvar matchPath = function matchPath(pathname) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var parent = arguments[2];\n\n if (typeof options === \"string\") options = { path: options };\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === undefined ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === undefined ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === undefined ? false : _options$sensitive;\n\n\n if (path == null) return parent;\n\n var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }),\n re = _compilePath.re,\n keys = _compilePath.keys;\n\n var match = re.exec(pathname);\n\n if (!match) return null;\n\n var url = match[0],\n values = match.slice(1);\n\n var isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path: path, // the path pattern used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact: isExact, // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (matchPath);\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar asap = __webpack_require__(30);\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (false) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (true) {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = __webpack_require__(35);\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history__ = __webpack_require__(6);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware .\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, [\"replace\", \"to\", \"innerRef\"]); // eslint-disable-line no-unused-vars\n\n __WEBPACK_IMPORTED_MODULE_2_invariant___default()(this.context.router, \"You should not use outside a \");\n\n __WEBPACK_IMPORTED_MODULE_2_invariant___default()(to !== undefined, 'You must specify the \"to\" property');\n\n var history = this.context.router.history;\n\n var location = typeof to === \"string\" ? Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"c\" /* createLocation */])(to, null, null, history.location) : to;\n\n var href = history.createHref(location);\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"a\", _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nLink.propTypes = {\n onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n target: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n replace: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n to: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object]).isRequired,\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n push: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,\n replace: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,\n createHref: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Link);\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Route__ = __webpack_require__(17);\n// Written in this round about way for babel-transform-imports\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Route__[\"a\" /* default */]);\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__matchPath__ = __webpack_require__(11);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.count(children) === 0;\n};\n\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = function (_React$Component) {\n _inherits(Route, _React$Component);\n\n function Route() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Route);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props, _this.context.router)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Route.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n route: {\n location: this.props.location || this.context.router.route.location,\n match: this.state.match\n }\n })\n };\n };\n\n Route.prototype.computeMatch = function computeMatch(_ref, router) {\n var computedMatch = _ref.computedMatch,\n location = _ref.location,\n path = _ref.path,\n strict = _ref.strict,\n exact = _ref.exact,\n sensitive = _ref.sensitive;\n\n if (computedMatch) return computedMatch; // already computed the match for us\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(router, \"You should not use or withRouter() outside a \");\n\n var route = router.route;\n\n var pathname = (location || route.location).pathname;\n\n return Object(__WEBPACK_IMPORTED_MODULE_4__matchPath__[\"a\" /* default */])(pathname, { path: path, strict: strict, exact: exact, sensitive: sensitive }, route.match);\n };\n\n Route.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\");\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!(this.props.component && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!(this.props.render && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n };\n\n Route.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n\n this.setState({\n match: this.computeMatch(nextProps, nextContext.router)\n });\n };\n\n Route.prototype.render = function render() {\n var match = this.state.match;\n var _props = this.props,\n children = _props.children,\n component = _props.component,\n render = _props.render;\n var _context$router = this.context.router,\n history = _context$router.history,\n route = _context$router.route,\n staticContext = _context$router.staticContext;\n\n var location = this.props.location || route.location;\n var props = { match: match, location: location, history: history, staticContext: staticContext };\n\n if (component) return match ? __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(component, props) : null;\n\n if (render) return match ? render(props) : null;\n\n if (typeof children === \"function\") return children(props);\n\n if (children && !isEmptyChildren(children)) return __WEBPACK_IMPORTED_MODULE_2_react___default.a.Children.only(children);\n\n return null;\n };\n\n return Route;\n}(__WEBPACK_IMPORTED_MODULE_2_react___default.a.Component);\n\nRoute.propTypes = {\n computedMatch: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object, // private, from \n path: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.string,\n exact: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.bool,\n strict: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.bool,\n sensitive: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.bool,\n component: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.func,\n render: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.node]),\n location: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object\n};\nRoute.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.shape({\n history: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired,\n route: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired,\n staticContext: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object\n })\n};\nRoute.childContextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Route);\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isarray = __webpack_require__(51)\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_path_to_regexp__);\n\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compileGenerator = function compileGenerator(pattern) {\n var cacheKey = pattern;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var compiledGenerator = __WEBPACK_IMPORTED_MODULE_0_path_to_regexp___default.a.compile(pattern);\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledGenerator;\n cacheCount++;\n }\n\n return compiledGenerator;\n};\n\n/**\n * Public API for generating a URL pathname from a pattern and parameters.\n */\nvar generatePath = function generatePath() {\n var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (pattern === \"/\") {\n return pattern;\n }\n var generator = compileGenerator(pattern);\n return generator(params, { pretty: true });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (generatePath);\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process, global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return $mobx; });\n/* unused harmony export FlowCancellationError */\n/* unused harmony export IDerivationState */\n/* unused harmony export ObservableMap */\n/* unused harmony export ObservableSet */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Reaction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return allowStateChanges; });\n/* unused harmony export _allowStateChangesInsideComputed */\n/* unused harmony export _allowStateReadsEnd */\n/* unused harmony export _allowStateReadsStart */\n/* unused harmony export _endAction */\n/* unused harmony export _getAdministration */\n/* unused harmony export _getGlobalState */\n/* unused harmony export _interceptReads */\n/* unused harmony export _isComputingDerivation */\n/* unused harmony export _resetGlobalState */\n/* unused harmony export _startAction */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return action; });\n/* unused harmony export autorun */\n/* unused harmony export comparer */\n/* unused harmony export computed */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return configure; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return createAtom; });\n/* unused harmony export decorate */\n/* unused harmony export entries */\n/* unused harmony export extendObservable */\n/* unused harmony export flow */\n/* unused harmony export get */\n/* unused harmony export getAtom */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return getDebugName; });\n/* unused harmony export getDependencyTree */\n/* unused harmony export getObserverTree */\n/* unused harmony export has */\n/* unused harmony export intercept */\n/* unused harmony export isAction */\n/* unused harmony export isArrayLike */\n/* unused harmony export isBoxedObservable */\n/* unused harmony export isComputed */\n/* unused harmony export isComputedProp */\n/* unused harmony export isFlowCancellationError */\n/* unused harmony export isObservable */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return isObservableArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return isObservableMap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return isObservableObject; });\n/* unused harmony export isObservableProp */\n/* unused harmony export isObservableSet */\n/* unused harmony export keys */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return observable; });\n/* unused harmony export observe */\n/* unused harmony export onBecomeObserved */\n/* unused harmony export onBecomeUnobserved */\n/* unused harmony export onReactionError */\n/* unused harmony export reaction */\n/* unused harmony export remove */\n/* unused harmony export runInAction */\n/* unused harmony export set */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return spy; });\n/* unused harmony export toJS */\n/* unused harmony export trace */\n/* unused harmony export transaction */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return untracked; });\n/* unused harmony export values */\n/* unused harmony export when */\n/** MobX - (c) Michel Weststrate 2015 - 2020 - MIT Licensed */\nvar OBFUSCATED_ERROR = \"An invariant failed, however the error is obfuscated because this is a production build.\";\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\nfunction fail(message) {\n invariant(false, message);\n throw \"X\"; // unreachable\n}\nfunction invariant(check, message) {\n if (!check)\n throw new Error(\"[mobx] \" + (message || OBFUSCATED_ERROR));\n}\n/**\n * Prints a deprecation message, but only one time.\n * Returns false if the deprecated message was already printed before\n */\nvar deprecatedMessages = [];\nfunction deprecated(msg, thing) {\n if (true)\n return false;\n if (thing) {\n return deprecated(\"'\" + msg + \"', use '\" + thing + \"' instead.\");\n }\n if (deprecatedMessages.indexOf(msg) !== -1)\n return false;\n deprecatedMessages.push(msg);\n console.error(\"[mobx] Deprecated: \" + msg);\n return true;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked)\n return;\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function () { };\nfunction unique(list) {\n var res = [];\n list.forEach(function (item) {\n if (res.indexOf(item) === -1)\n res.push(item);\n });\n return res;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (value === null || typeof value !== \"object\")\n return false;\n var proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n}\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure;\n }\n else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure);\n }\n else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for (var key in dataStructure) {\n map.set(key, dataStructure[key]);\n }\n return map;\n }\n else {\n return fail(\"Cannot convert to map from '\" + dataStructure + \"'\");\n }\n}\nfunction addHiddenProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction isPropertyConfigurable(object, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(object, prop);\n return !descriptor || (descriptor.configurable !== false && descriptor.writable !== false);\n}\nfunction assertPropertyConfigurable(object, prop) {\n if (false)\n fail(\"Cannot make property '\" + prop.toString() + \"' observable, it is not configurable and writable in the target object\");\n}\nfunction createInstanceofPredicate(name, clazz) {\n var propName = \"isMobX\" + name;\n clazz.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\n/**\n * Returns whether the argument is an array, disregarding observability.\n */\nfunction isArrayLike(x) {\n return Array.isArray(x) || isObservableArray(x);\n}\nfunction isES6Map(thing) {\n return thing instanceof Map;\n}\nfunction isES6Set(thing) {\n return thing instanceof Set;\n}\n/**\n * Returns the following: own keys, prototype keys & own symbol keys, if they are enumerable.\n */\nfunction getPlainObjectKeys(object) {\n var enumerables = new Set();\n for (var key in object)\n enumerables.add(key); // *all* enumerables\n Object.getOwnPropertySymbols(object).forEach(function (k) {\n if (Object.getOwnPropertyDescriptor(object, k).enumerable)\n enumerables.add(k);\n }); // *own* symbols\n // Note: this implementation is missing enumerable, inherited, symbolic property names! That would however pretty expensive to add,\n // as there is no efficient iterator that returns *all* properties\n return Array.from(enumerables);\n}\nfunction stringifyKey(key) {\n if (key && key.toString)\n return key.toString();\n else\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : Object.getOwnPropertySymbols\n ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); }\n : /* istanbul ignore next */ Object.getOwnPropertyNames;\n\nvar $mobx = Symbol(\"mobx administration\");\nvar Atom = /** @class */ (function () {\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n function Atom(name) {\n if (name === void 0) { name = \"Atom@\" + getNextId(); }\n this.name = name;\n this.isPendingUnobservation = false; // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n this.isBeingObserved = false;\n this.observers = new Set();\n this.diffValue = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.NOT_TRACKING;\n }\n Atom.prototype.onBecomeObserved = function () {\n if (this.onBecomeObservedListeners) {\n this.onBecomeObservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n Atom.prototype.onBecomeUnobserved = function () {\n if (this.onBecomeUnobservedListeners) {\n this.onBecomeUnobservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */\n Atom.prototype.reportObserved = function () {\n return reportObserved(this);\n };\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n Atom.prototype.reportChanged = function () {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n Atom.prototype.toString = function () {\n return this.name;\n };\n return Atom;\n}());\nvar isAtom = createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) { onBecomeObservedHandler = noop; }\n if (onBecomeUnobservedHandler === void 0) { onBecomeUnobservedHandler = noop; }\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler);\n }\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n }\n return atom;\n}\n\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n return Object.is(a, b);\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n};\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar mobxDidRunLazyInitializersSymbol = Symbol(\"mobx did run lazy initializers\");\nvar mobxPendingDecorators = Symbol(\"mobx pending decorators\");\nvar enumerableDescriptorCache = {};\nvar nonEnumerableDescriptorCache = {};\nfunction createPropertyInitializerDescriptor(prop, enumerable) {\n var cache = enumerable ? enumerableDescriptorCache : nonEnumerableDescriptorCache;\n return (cache[prop] ||\n (cache[prop] = {\n configurable: true,\n enumerable: enumerable,\n get: function () {\n initializeInstance(this);\n return this[prop];\n },\n set: function (value) {\n initializeInstance(this);\n this[prop] = value;\n }\n }));\n}\nfunction initializeInstance(target) {\n var e_1, _a;\n if (target[mobxDidRunLazyInitializersSymbol] === true)\n return;\n var decorators = target[mobxPendingDecorators];\n if (decorators) {\n addHiddenProp(target, mobxDidRunLazyInitializersSymbol, true);\n // Build property key array from both strings and symbols\n var keys = __spread(Object.getOwnPropertySymbols(decorators), Object.keys(decorators));\n try {\n for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {\n var key = keys_1_1.value;\n var d = decorators[key];\n d.propertyCreator(target, d.prop, d.descriptor, d.decoratorTarget, d.decoratorArguments);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n}\nfunction createPropDecorator(propertyInitiallyEnumerable, propertyCreator) {\n return function decoratorFactory() {\n var decoratorArguments;\n var decorator = function decorate(target, prop, descriptor, applyImmediately\n // This is a special parameter to signal the direct application of a decorator, allow extendObservable to skip the entire type decoration part,\n // as the instance to apply the decorator to equals the target\n ) {\n if (applyImmediately === true) {\n propertyCreator(target, prop, descriptor, target, decoratorArguments);\n return null;\n }\n if (false)\n fail(\"This function is a decorator, but it wasn't invoked like a decorator\");\n if (!Object.prototype.hasOwnProperty.call(target, mobxPendingDecorators)) {\n var inheritedDecorators = target[mobxPendingDecorators];\n addHiddenProp(target, mobxPendingDecorators, __assign({}, inheritedDecorators));\n }\n target[mobxPendingDecorators][prop] = {\n prop: prop,\n propertyCreator: propertyCreator,\n descriptor: descriptor,\n decoratorTarget: target,\n decoratorArguments: decoratorArguments\n };\n return createPropertyInitializerDescriptor(prop, propertyInitiallyEnumerable);\n };\n if (quacksLikeADecorator(arguments)) {\n // @decorator\n decoratorArguments = EMPTY_ARRAY;\n return decorator.apply(null, arguments);\n }\n else {\n // @decorator(args)\n decoratorArguments = Array.prototype.slice.call(arguments);\n return decorator;\n }\n };\n}\nfunction quacksLikeADecorator(args) {\n return (((args.length === 2 || args.length === 3) &&\n (typeof args[1] === \"string\" || typeof args[1] === \"symbol\")) ||\n (args.length === 4 && args[3] === true));\n}\n\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v))\n return v;\n // something that can be converted and mutated?\n if (Array.isArray(v))\n return observable.array(v, { name: name });\n if (isPlainObject(v))\n return observable.object(v, undefined, { name: name });\n if (isES6Map(v))\n return observable.map(v, { name: name });\n if (isES6Set(v))\n return observable.set(v, { name: name });\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null)\n return v;\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v))\n return v;\n if (Array.isArray(v))\n return observable.array(v, { name: name, deep: false });\n if (isPlainObject(v))\n return observable.object(v, undefined, { name: name, deep: false });\n if (isES6Map(v))\n return observable.map(v, { name: name, deep: false });\n if (isES6Set(v))\n return observable.set(v, { name: name, deep: false });\n return fail(\"production\" !== \"production\" &&\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\");\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue, name) {\n if (false)\n throw \"observable.struct should not be used with observable values\";\n if (deepEqual(v, oldValue))\n return oldValue;\n return v;\n}\n\nfunction createDecoratorForEnhancer(enhancer) {\n invariant(enhancer);\n var decorator = createPropDecorator(true, function (target, propertyName, descriptor, _decoratorTarget, decoratorArgs) {\n if (false) {\n invariant(!descriptor || !descriptor.get, \"@observable cannot be used on getter (property \\\"\" + stringifyKey(propertyName) + \"\\\"), use @computed instead.\");\n }\n var initialValue = descriptor\n ? descriptor.initializer\n ? descriptor.initializer.call(target)\n : descriptor.value\n : undefined;\n asObservableObject(target).addObservableProp(propertyName, initialValue, enhancer);\n });\n var res = \n // Extra process checks, as this happens during module initialization\n typeof process !== \"undefined\" && Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\".\"}) && \"production\" !== \"production\"\n ? function observableDecorator() {\n // This wrapper function is just to detect illegal decorator invocations, deprecate in a next version\n // and simply return the created prop decorator\n if (arguments.length < 2)\n return fail(\"Incorrect decorator invocation. @observable decorator doesn't expect any arguments\");\n return decorator.apply(null, arguments);\n }\n : decorator;\n res.enhancer = enhancer;\n return res;\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction assertValidOption(key) {\n if (!/^(deep|name|equals|defaultDecorator|proxy)$/.test(key))\n fail(\"invalid option for (extend)observable: \" + key);\n}\nfunction asCreateObservableOptions(thing) {\n if (thing === null || thing === undefined)\n return defaultCreateObservableOptions;\n if (typeof thing === \"string\")\n return { name: thing, deep: true, proxy: true };\n if (false) {\n if (typeof thing !== \"object\")\n return fail(\"expected options object\");\n Object.keys(thing).forEach(assertValidOption);\n }\n return thing;\n}\nvar deepDecorator = createDecoratorForEnhancer(deepEnhancer);\nvar shallowDecorator = createDecoratorForEnhancer(shallowEnhancer);\nvar refDecorator = createDecoratorForEnhancer(referenceEnhancer);\nvar refStructDecorator = createDecoratorForEnhancer(refStructEnhancer);\nfunction getEnhancerFromOptions(options) {\n return options.defaultDecorator\n ? options.defaultDecorator.enhancer\n : options.deep === false\n ? referenceEnhancer\n : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v, arg2, arg3) {\n // @observable someProp;\n if (typeof arguments[1] === \"string\" || typeof arguments[1] === \"symbol\") {\n return deepDecorator.apply(null, arguments);\n }\n // it is an observable already, done\n if (isObservable(v))\n return v;\n // something that can be converted and mutated?\n var res = isPlainObject(v)\n ? observable.object(v, arg2, arg3)\n : Array.isArray(v)\n ? observable.array(v, arg2)\n : isES6Map(v)\n ? observable.map(v, arg2)\n : isES6Set(v)\n ? observable.set(v, arg2)\n : v;\n // this value could be converted to a new observable data structure, return it\n if (res !== v)\n return res;\n // otherwise, just box it\n fail(\"production\" !== \"production\" &&\n \"The provided value could not be converted into an observable. If you want just create an observable reference to the object use 'observable.box(value)'\");\n}\nvar observableFactories = {\n box: function (value, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"box\");\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"array\");\n var o = asCreateObservableOptions(options);\n return createObservableArray(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"map\");\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"set\");\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function (props, decorators, options) {\n if (typeof arguments[1] === \"string\")\n incorrectlyUsedAsDecorator(\"object\");\n var o = asCreateObservableOptions(options);\n if (o.proxy === false) {\n return extendObservable({}, props, decorators, o);\n }\n else {\n var defaultDecorator = getDefaultDecoratorFromObjectOptions(o);\n var base = extendObservable({}, undefined, undefined, o);\n var proxy = createDynamicObservableObject(base);\n extendObservableObjectWithProperties(proxy, props, decorators, defaultDecorator);\n return proxy;\n }\n },\n ref: refDecorator,\n shallow: shallowDecorator,\n deep: deepDecorator,\n struct: refStructDecorator\n};\nvar observable = createObservable;\n// weird trick to keep our typings nicely with our funcs, and still extend the observable function\nObject.keys(observableFactories).forEach(function (name) { return (observable[name] = observableFactories[name]); });\nfunction incorrectlyUsedAsDecorator(methodName) {\n fail(\n // process.env.NODE_ENV !== \"production\" &&\n \"Expected one or two arguments to observable.\" + methodName + \". Did you accidentally try to use observable.\" + methodName + \" as decorator?\");\n}\n\nvar computedDecorator = createPropDecorator(false, function (instance, propertyName, descriptor, decoratorTarget, decoratorArgs) {\n if (false) {\n invariant(descriptor && descriptor.get, \"Trying to declare a computed value for unspecified getter '\" + stringifyKey(propertyName) + \"'\");\n }\n var get = descriptor.get, set = descriptor.set; // initialValue is the descriptor for get / set props\n // Optimization: faster on decorator target or instance? Assuming target\n // Optimization: find out if declaring on instance isn't just faster. (also makes the property descriptor simpler). But, more memory usage..\n // Forcing instance now, fixes hot reloadig issues on React Native:\n var options = decoratorArgs[0] || {};\n asObservableObject(instance).addComputedProp(instance, propertyName, __assign({ get: get,\n set: set, context: instance }, options));\n});\nvar computedStructDecorator = computedDecorator({ equals: comparer.structural });\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nvar computed = function computed(arg1, arg2, arg3) {\n if (typeof arg2 === \"string\") {\n // @computed\n return computedDecorator.apply(null, arguments);\n }\n if (arg1 !== null && typeof arg1 === \"object\" && arguments.length === 1) {\n // @computed({ options })\n return computedDecorator.apply(null, arguments);\n }\n // computed(expr, options?)\n if (false) {\n invariant(typeof arg1 === \"function\", \"First argument to `computed` should be an expression.\");\n invariant(arguments.length < 3, \"Computed takes one or two arguments if used as function\");\n }\n var opts = typeof arg2 === \"object\" ? arg2 : {};\n opts.get = arg1;\n opts.set = typeof arg2 === \"function\" ? arg2 : opts.set;\n opts.name = opts.name || arg1.name || \"\"; /* for generated name */\n return new ComputedValue(opts);\n};\ncomputed.struct = computedStructDecorator;\n\nvar IDerivationState;\n(function (IDerivationState) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState[IDerivationState[\"NOT_TRACKING\"] = -1] = \"NOT_TRACKING\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState[IDerivationState[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState[IDerivationState[\"POSSIBLY_STALE\"] = 1] = \"POSSIBLY_STALE\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState[IDerivationState[\"STALE\"] = 2] = \"STALE\";\n})(IDerivationState || (IDerivationState = {}));\nvar TraceMode;\n(function (TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = /** @class */ (function () {\n function CaughtException(cause) {\n this.cause = cause;\n // Empty\n }\n return CaughtException;\n}());\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState) {\n case IDerivationState.UP_TO_DATE:\n return false;\n case IDerivationState.NOT_TRACKING:\n case IDerivationState.STALE:\n return true;\n case IDerivationState.POSSIBLY_STALE: {\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing, l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get();\n }\n else {\n try {\n obj.get();\n }\n catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState === IDerivationState.STALE) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n }\n}\n// function invariantShouldCompute(derivation: IDerivation) {\n// const newDepState = (derivation as any).dependenciesState\n// if (\n// process.env.NODE_ENV === \"production\" &&\n// (newDepState === IDerivationState.POSSIBLY_STALE ||\n// newDepState === IDerivationState.NOT_TRACKING)\n// )\n// fail(\"Illegal dependency state\")\n// }\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\nfunction checkIfStateModificationsAreAllowed(atom) {\n var hasObservers = atom.observers.size > 0;\n // Should never be possible to change an observed observable from inside computed, see #798\n if (globalState.computationDepth > 0 && hasObservers)\n fail(\"production\" !== \"production\" &&\n \"Computed values are not allowed to cause side effects by changing observables that are already being observed. Tried to modify: \" + atom.name);\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"strict\"))\n fail(\"production\" !== \"production\" &&\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing observed observable values outside actions is not allowed. Please wrap the code in an `action` if this change is intended. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, the render function of a React component? Tried to modify: \") +\n atom.name);\n}\nfunction checkIfStateReadsAreAllowed(observable) {\n if (false) {\n console.warn(\"[mobx] Observable \" + observable.name + \" being read outside a reactive context\");\n }\n}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nfunction trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation);\n derivation.newObserving = new Array(derivation.observing.length + 100);\n derivation.unboundDepsCount = 0;\n derivation.runId = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n var result;\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context);\n }\n else {\n try {\n result = f.call(context);\n }\n catch (e) {\n result = new CaughtException(e);\n }\n }\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n if (true)\n return;\n if (derivation.observing.length !== 0)\n return;\n if (globalState.reactionRequiresObservable || derivation.requiresObservable) {\n console.warn(\"[mobx] Derivation \" + derivation.name + \" is created/updated without reading any observable value\");\n }\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing;\n var observing = (derivation.observing = derivation.newObserving);\n var lowestNewObservingDerivationState = IDerivationState.UP_TO_DATE;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0, l = derivation.unboundDepsCount;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue === 0) {\n dep.diffValue = 1;\n if (i0 !== i)\n observing[i0] = dep;\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = dep.dependenciesState;\n }\n }\n observing.length = i0;\n derivation.newObserving = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while (l--) {\n var dep = prevObserving[l];\n if (dep.diffValue === 0) {\n removeObserver(dep, derivation);\n }\n dep.diffValue = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n var dep = observing[i0];\n if (dep.diffValue === 1) {\n dep.diffValue = 0;\n addObserver(dep, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState.UP_TO_DATE) {\n derivation.dependenciesState = lowestNewObservingDerivationState;\n derivation.onBecomeStale();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing;\n derivation.observing = [];\n var i = obs.length;\n while (i--)\n removeObserver(obs[i], derivation);\n derivation.dependenciesState = IDerivationState.NOT_TRACKING;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n }\n finally {\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState === IDerivationState.UP_TO_DATE)\n return;\n derivation.dependenciesState = IDerivationState.UP_TO_DATE;\n var obs = derivation.observing;\n var i = obs.length;\n while (i--)\n obs[i].lowestObserverState = IDerivationState.UP_TO_DATE;\n}\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar functionNameDescriptor = Object.getOwnPropertyDescriptor(function () { }, \"name\");\nvar isFunctionNameConfigurable = functionNameDescriptor && functionNameDescriptor.configurable;\nfunction createAction(actionName, fn, ref) {\n if (false) {\n invariant(typeof fn === \"function\", \"`action` can only be invoked on functions\");\n if (typeof actionName !== \"string\" || !actionName)\n fail(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n var res = function () {\n return executeAction(actionName, fn, ref || this, arguments);\n };\n res.isMobxAction = true;\n if (false) {\n if (isFunctionNameConfigurable) {\n Object.defineProperty(res, \"name\", { value: actionName });\n }\n }\n return res;\n}\nfunction executeAction(actionName, fn, scope, args) {\n var runInfo = _startAction(actionName, scope, args);\n try {\n return fn.apply(scope, args);\n }\n catch (err) {\n runInfo.error = err;\n throw err;\n }\n finally {\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, scope, args) {\n var notifySpy = isSpyEnabled() && !!actionName;\n var startTime = 0;\n if (notifySpy && \"production\" !== \"production\") {\n startTime = Date.now();\n var l = (args && args.length) || 0;\n var flattendArgs = new Array(l);\n if (l > 0)\n for (var i = 0; i < l; i++)\n flattendArgs[i] = args[i];\n spyReportStart({\n type: \"action\",\n name: actionName,\n object: scope,\n arguments: flattendArgs\n });\n }\n var prevDerivation = untrackedStart();\n startBatch();\n var prevAllowStateChanges = allowStateChangesStart(true);\n var prevAllowStateReads = allowStateReadsStart(true);\n var runInfo = {\n prevDerivation: prevDerivation,\n prevAllowStateChanges: prevAllowStateChanges,\n prevAllowStateReads: prevAllowStateReads,\n notifySpy: notifySpy,\n startTime: startTime,\n actionId: nextActionId++,\n parentActionId: currentActionId\n };\n currentActionId = runInfo.actionId;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId) {\n fail(\"invalid action stack. did you forget to finish an action?\");\n }\n currentActionId = runInfo.parentActionId;\n if (runInfo.error !== undefined) {\n globalState.suppressReactionErrors = true;\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges);\n allowStateReadsEnd(runInfo.prevAllowStateReads);\n endBatch();\n untrackedEnd(runInfo.prevDerivation);\n if (runInfo.notifySpy && \"production\" !== \"production\") {\n spyReportEnd({ time: Date.now() - runInfo.startTime });\n }\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n var res;\n try {\n res = func();\n }\n finally {\n allowStateChangesEnd(prev);\n }\n return res;\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\nfunction allowStateChangesInsideComputed(func) {\n var prev = globalState.computationDepth;\n globalState.computationDepth = 0;\n var res;\n try {\n res = func();\n }\n finally {\n globalState.computationDepth = prev;\n }\n return res;\n}\n\nvar ObservableValue = /** @class */ (function (_super) {\n __extends(ObservableValue, _super);\n function ObservableValue(value, enhancer, name, notifySpy, equals) {\n if (name === void 0) { name = \"ObservableValue@\" + getNextId(); }\n if (notifySpy === void 0) { notifySpy = true; }\n if (equals === void 0) { equals = comparer.default; }\n var _this = _super.call(this, name) || this;\n _this.enhancer = enhancer;\n _this.name = name;\n _this.equals = equals;\n _this.hasUnreportedChange = false;\n _this.value = enhancer(value, undefined, name);\n if (notifySpy && isSpyEnabled() && \"production\" !== \"production\") {\n // only notify spy if this is a stand-alone observable\n spyReport({ type: \"create\", name: _this.name, newValue: \"\" + _this.value });\n }\n return _this;\n }\n ObservableValue.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined)\n return this.dehancer(value);\n return value;\n };\n ObservableValue.prototype.set = function (newValue) {\n var oldValue = this.value;\n newValue = this.prepareNewValue(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (notifySpy && \"production\" !== \"production\") {\n spyReportStart({\n type: \"update\",\n name: this.name,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n this.setNewValue(newValue);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n }\n };\n ObservableValue.prototype.prepareNewValue = function (newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: \"update\",\n newValue: newValue\n });\n if (!change)\n return globalState.UNCHANGED;\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value, this.name);\n return this.equals(this.value, newValue) ? globalState.UNCHANGED : newValue;\n };\n ObservableValue.prototype.setNewValue = function (newValue) {\n var oldValue = this.value;\n this.value = newValue;\n this.reportChanged();\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: \"update\",\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n };\n ObservableValue.prototype.get = function () {\n this.reportObserved();\n return this.dehanceValue(this.value);\n };\n ObservableValue.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableValue.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately)\n listener({\n object: this,\n type: \"update\",\n newValue: this.value,\n oldValue: undefined\n });\n return registerListener(this, listener);\n };\n ObservableValue.prototype.toJSON = function () {\n return this.get();\n };\n ObservableValue.prototype.toString = function () {\n return this.name + \"[\" + this.value + \"]\";\n };\n ObservableValue.prototype.valueOf = function () {\n return toPrimitive(this.get());\n };\n ObservableValue.prototype[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom));\nvar isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nvar ComputedValue = /** @class */ (function () {\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structualComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n function ComputedValue(options) {\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.observing = []; // nodes we are looking at. Our value depends on these nodes\n this.newObserving = null; // during tracking it's an array with new observed observers\n this.isBeingObserved = false;\n this.isPendingUnobservation = false;\n this.observers = new Set();\n this.diffValue = 0;\n this.runId = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.UP_TO_DATE;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.value = new CaughtException(null);\n this.isComputing = false; // to check for cycles\n this.isRunningSetter = false;\n this.isTracing = TraceMode.NONE;\n invariant(options.get, \"missing option for computed: get\");\n this.derivation = options.get;\n this.name = options.name || \"ComputedValue@\" + getNextId();\n if (options.set)\n this.setter = createAction(this.name + \"-setter\", options.set);\n this.equals =\n options.equals ||\n (options.compareStructural || options.struct\n ? comparer.structural\n : comparer.default);\n this.scope = options.context;\n this.requiresReaction = !!options.requiresReaction;\n this.keepAlive = !!options.keepAlive;\n }\n ComputedValue.prototype.onBecomeStale = function () {\n propagateMaybeChanged(this);\n };\n ComputedValue.prototype.onBecomeObserved = function () {\n if (this.onBecomeObservedListeners) {\n this.onBecomeObservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n ComputedValue.prototype.onBecomeUnobserved = function () {\n if (this.onBecomeUnobservedListeners) {\n this.onBecomeUnobservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n ComputedValue.prototype.get = function () {\n if (this.isComputing)\n fail(\"Cycle detected in computation \" + this.name + \": \" + this.derivation);\n if (globalState.inBatch === 0 && this.observers.size === 0 && !this.keepAlive) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead();\n startBatch(); // See perf test 'computed memoization'\n this.value = this.computeValue(false);\n endBatch();\n }\n }\n else {\n reportObserved(this);\n if (shouldCompute(this))\n if (this.trackAndCompute())\n propagateChangeConfirmed(this);\n }\n var result = this.value;\n if (isCaughtException(result))\n throw result.cause;\n return result;\n };\n ComputedValue.prototype.peek = function () {\n var res = this.computeValue(false);\n if (isCaughtException(res))\n throw res.cause;\n return res;\n };\n ComputedValue.prototype.set = function (value) {\n if (this.setter) {\n invariant(!this.isRunningSetter, \"The setter of computed value '\" + this.name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\");\n this.isRunningSetter = true;\n try {\n this.setter.call(this.scope, value);\n }\n finally {\n this.isRunningSetter = false;\n }\n }\n else\n invariant(false, \"production\" !== \"production\" &&\n \"[ComputedValue '\" + this.name + \"'] It is not possible to assign a new value to a computed value.\");\n };\n ComputedValue.prototype.trackAndCompute = function () {\n if (isSpyEnabled() && \"production\" !== \"production\") {\n spyReport({\n object: this.scope,\n type: \"compute\",\n name: this.name\n });\n }\n var oldValue = this.value;\n var wasSuspended = \n /* see #1208 */ this.dependenciesState === IDerivationState.NOT_TRACKING;\n var newValue = this.computeValue(true);\n var changed = wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals(oldValue, newValue);\n if (changed) {\n this.value = newValue;\n }\n return changed;\n };\n ComputedValue.prototype.computeValue = function (track) {\n this.isComputing = true;\n globalState.computationDepth++;\n var res;\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope);\n }\n else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope);\n }\n else {\n try {\n res = this.derivation.call(this.scope);\n }\n catch (e) {\n res = new CaughtException(e);\n }\n }\n }\n globalState.computationDepth--;\n this.isComputing = false;\n return res;\n };\n ComputedValue.prototype.suspend = function () {\n if (!this.keepAlive) {\n clearObserving(this);\n this.value = undefined; // don't hold on to computed value!\n }\n };\n ComputedValue.prototype.observe = function (listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n type: \"update\",\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n ComputedValue.prototype.warnAboutUntrackedRead = function () {\n if (true)\n return;\n if (this.requiresReaction === true) {\n fail(\"[mobx] Computed value \" + this.name + \" is read outside a reactive context\");\n }\n if (this.isTracing !== TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + this.name + \"' is being read outside a reactive context. Doing a full recompute\");\n }\n if (globalState.computedRequiresReaction) {\n console.warn(\"[mobx] Computed value \" + this.name + \" is being read outside a reactive context. Doing a full recompute\");\n }\n };\n ComputedValue.prototype.toJSON = function () {\n return this.get();\n };\n ComputedValue.prototype.toString = function () {\n return this.name + \"[\" + this.derivation.toString() + \"]\";\n };\n ComputedValue.prototype.valueOf = function () {\n return toPrimitive(this.get());\n };\n ComputedValue.prototype[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return ComputedValue;\n}());\nvar isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue);\n\n/**\n * These values will persist if global state is reset\n */\nvar persistentKeys = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\"\n];\nvar MobXGlobals = /** @class */ (function () {\n function MobXGlobals() {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n this.version = 5;\n /**\n * globally unique token to signal unchanged\n */\n this.UNCHANGED = {};\n /**\n * Currently running derivation\n */\n this.trackingDerivation = null;\n /**\n * Are we running a computation currently? (not a reaction)\n */\n this.computationDepth = 0;\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n this.runId = 0;\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n this.mobxGuid = 0;\n /**\n * Are we in a batch block? (and how many of them)\n */\n this.inBatch = 0;\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n this.pendingUnobservations = [];\n /**\n * List of scheduled, not yet executed, reactions.\n */\n this.pendingReactions = [];\n /**\n * Are we currently processing reactions?\n */\n this.isRunningReactions = false;\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n this.allowStateChanges = true;\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n this.allowStateReads = true;\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n this.enforceActions = false;\n /**\n * Spy callbacks\n */\n this.spyListeners = [];\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n this.globalReactionErrorHandlers = [];\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n this.computedRequiresReaction = false;\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n this.reactionRequiresObservable = false;\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n this.observableRequiresReaction = false;\n /**\n * Allows overwriting of computed properties, useful in tests but not prod as it can cause\n * memory leaks. See https://github.com/mobxjs/mobx/issues/1867\n */\n this.computedConfigurable = false;\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n this.disableErrorBoundaries = false;\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n this.suppressReactionErrors = false;\n }\n return MobXGlobals;\n}());\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n return mockGlobal;\n}\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = (function () {\n var global = getGlobal();\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals)\n canMergeGlobalState = false;\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version)\n canMergeGlobalState = false;\n if (!canMergeGlobalState) {\n setTimeout(function () {\n if (!isolateCalled) {\n fail(\"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\");\n }\n }, 1);\n return new MobXGlobals();\n }\n else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1;\n if (!global.__mobxGlobals.UNCHANGED)\n global.__mobxGlobals.UNCHANGED = {}; // make merge backward compatible\n return global.__mobxGlobals;\n }\n else {\n global.__mobxInstanceCount = 1;\n return (global.__mobxGlobals = new MobXGlobals());\n }\n})();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions)\n fail(\"isolateGlobalState should be called before MobX is running any reactions\");\n isolateCalled = true;\n if (canMergeGlobalState) {\n if (--getGlobal().__mobxInstanceCount === 0)\n getGlobal().__mobxGlobals = undefined;\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nfunction resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals)\n if (persistentKeys.indexOf(key) === -1)\n globalState[key] = defaultGlobals[key];\n globalState.allowStateChanges = !globalState.enforceActions;\n}\n\nfunction hasObservers(observable) {\n return observable.observers && observable.observers.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers.add(node);\n if (observable.lowestObserverState > node.dependenciesState)\n observable.lowestObserverState = node.dependenciesState;\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers.delete(node);\n if (observable.observers.size === 0) {\n // deleting last observer\n queueForUnobservation(observable);\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nfunction startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable = list[i];\n observable.isPendingUnobservation = false;\n if (observable.observers.size === 0) {\n if (observable.isBeingObserved) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved = false;\n observable.onBecomeUnobserved();\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observable of another, etc..\n observable.suspend();\n }\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId !== observable.lastAccessedBy) {\n observable.lastAccessedBy = derivation.runId;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving[derivation.unboundDepsCount++] = observable;\n if (!observable.isBeingObserved) {\n observable.isBeingObserved = true;\n observable.onBecomeObserved();\n }\n }\n return true;\n }\n else if (observable.observers.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable);\n }\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n// Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.UP_TO_DATE) {\n if (d.isTracing !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale();\n }\n d.dependenciesState = IDerivationState.STALE;\n });\n // invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.POSSIBLY_STALE)\n d.dependenciesState = IDerivationState.STALE;\n else if (d.dependenciesState === IDerivationState.UP_TO_DATE // this happens during computing of `d`, just keep lowestObserverState up to date.\n )\n observable.lowestObserverState = IDerivationState.UP_TO_DATE;\n });\n // invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState !== IDerivationState.UP_TO_DATE)\n return;\n observable.lowestObserverState = IDerivationState.POSSIBLY_STALE;\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.UP_TO_DATE) {\n d.dependenciesState = IDerivationState.POSSIBLY_STALE;\n if (d.isTracing !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale();\n }\n });\n // invariantLOS(observable, \"maybe end\");\n}\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name + \"' is invalidated due to a change in: '\" + observable.name + \"'\");\n if (derivation.isTracing === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name + \"' is being traced and '\" + observable.name + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + new Array(depth).join(\"\\t\") + tree.name); // MWE: not the fastest, but the easiest way :)\n if (tree.dependencies)\n tree.dependencies.forEach(function (child) { return printDepTree(child, lines, depth + 1); });\n}\n\nvar Reaction = /** @class */ (function () {\n function Reaction(name, onInvalidate, errorHandler, requiresObservable) {\n if (name === void 0) { name = \"Reaction@\" + getNextId(); }\n if (requiresObservable === void 0) { requiresObservable = false; }\n this.name = name;\n this.onInvalidate = onInvalidate;\n this.errorHandler = errorHandler;\n this.requiresObservable = requiresObservable;\n this.observing = []; // nodes we are looking at. Our value depends on these nodes\n this.newObserving = [];\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.diffValue = 0;\n this.runId = 0;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.isDisposed = false;\n this._isScheduled = false;\n this._isTrackPending = false;\n this._isRunning = false;\n this.isTracing = TraceMode.NONE;\n }\n Reaction.prototype.onBecomeStale = function () {\n this.schedule();\n };\n Reaction.prototype.schedule = function () {\n if (!this._isScheduled) {\n this._isScheduled = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n };\n Reaction.prototype.isScheduled = function () {\n return this._isScheduled;\n };\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n Reaction.prototype.runReaction = function () {\n if (!this.isDisposed) {\n startBatch();\n this._isScheduled = false;\n if (shouldCompute(this)) {\n this._isTrackPending = true;\n try {\n this.onInvalidate();\n if (this._isTrackPending &&\n isSpyEnabled() &&\n \"production\" !== \"production\") {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name,\n type: \"scheduled-reaction\"\n });\n }\n }\n catch (e) {\n this.reportExceptionInDerivation(e);\n }\n }\n endBatch();\n }\n };\n Reaction.prototype.track = function (fn) {\n if (this.isDisposed) {\n return;\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (notify && \"production\" !== \"production\") {\n startTime = Date.now();\n spyReportStart({\n name: this.name,\n type: \"reaction\"\n });\n }\n this._isRunning = true;\n var result = trackDerivedFunction(this, fn, undefined);\n this._isRunning = false;\n this._isTrackPending = false;\n if (this.isDisposed) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n }\n if (isCaughtException(result))\n this.reportExceptionInDerivation(result.cause);\n if (notify && \"production\" !== \"production\") {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n Reaction.prototype.reportExceptionInDerivation = function (error) {\n var _this = this;\n if (this.errorHandler) {\n this.errorHandler(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries)\n throw error;\n var message = \"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\" + this + \"'\";\n if (globalState.suppressReactionErrors) {\n console.warn(\"[mobx] (error in reaction '\" + this.name + \"' suppressed, fix error of causing action below)\"); // prettier-ignore\n }\n else {\n console.error(message, error);\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n }\n if (isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name,\n message: message,\n error: \"\" + error\n });\n }\n globalState.globalReactionErrorHandlers.forEach(function (f) { return f(error, _this); });\n };\n Reaction.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n if (!this._isRunning) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n Reaction.prototype.getDisposer = function () {\n var r = this.dispose.bind(this);\n r[$mobx] = this;\n return r;\n };\n Reaction.prototype.toString = function () {\n return \"Reaction[\" + this.name + \"]\";\n };\n Reaction.prototype.trace = function (enterBreakPoint) {\n if (enterBreakPoint === void 0) { enterBreakPoint = false; }\n trace(this, enterBreakPoint);\n };\n return Reaction;\n}());\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function () {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0)\n globalState.globalReactionErrorHandlers.splice(idx, 1);\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nvar MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function (f) { return f(); };\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions)\n return;\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\" +\n (\" Probably there is a cycle in the reactive function: \" + allReactions[0]));\n allReactions.splice(0); // clear reactions\n }\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++)\n remainingReactions[i].runReaction();\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function (f) { return fn(function () { return baseScheduler(f); }); };\n}\n\nfunction isSpyEnabled() {\n return \"production\" !== \"production\" && !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (true)\n return; // dead code elimination can do the rest\n if (!globalState.spyListeners.length)\n return;\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++)\n listeners[i](event);\n}\nfunction spyReportStart(event) {\n if (true)\n return;\n var change = __assign(__assign({}, event), { spyReportStart: true });\n spyReport(change);\n}\nvar END_EVENT = { spyReportEnd: true };\nfunction spyReportEnd(change) {\n if (true)\n return;\n if (change)\n spyReport(__assign(__assign({}, change), { spyReportEnd: true }));\n else\n spyReport(END_EVENT);\n}\nfunction spy(listener) {\n if (true) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function () { };\n }\n else {\n globalState.spyListeners.push(listener);\n return once(function () {\n globalState.spyListeners = globalState.spyListeners.filter(function (l) { return l !== listener; });\n });\n }\n}\n\nfunction dontReassignFields() {\n fail(\"production\" !== \"production\" && \"@action fields are not reassignable\");\n}\nfunction namedActionDecorator(name) {\n return function (target, prop, descriptor) {\n if (descriptor) {\n if (false) {\n return fail(\"@action cannot be used with getters\");\n }\n // babel / typescript\n // @action method() { }\n if (descriptor.value) {\n // typescript\n return {\n value: createAction(name, descriptor.value),\n enumerable: false,\n configurable: true,\n writable: true // for typescript, this must be writable, otherwise it cannot inherit :/ (see inheritable actions test)\n };\n }\n // babel only: @action method = () => {}\n var initializer_1 = descriptor.initializer;\n return {\n enumerable: false,\n configurable: true,\n writable: true,\n initializer: function () {\n // N.B: we can't immediately invoke initializer; this would be wrong\n return createAction(name, initializer_1.call(this));\n }\n };\n }\n // bound instance methods\n return actionFieldDecorator(name).apply(this, arguments);\n };\n}\nfunction actionFieldDecorator(name) {\n // Simple property that writes on first invocation to the current instance\n return function (target, prop, descriptor) {\n Object.defineProperty(target, prop, {\n configurable: true,\n enumerable: false,\n get: function () {\n return undefined;\n },\n set: function (value) {\n addHiddenProp(this, prop, action(name, value));\n }\n });\n };\n}\nfunction boundActionDecorator(target, propertyName, descriptor, applyToInstance) {\n if (applyToInstance === true) {\n defineBoundAction(target, propertyName, descriptor.value);\n return null;\n }\n if (descriptor) {\n // if (descriptor.value)\n // Typescript / Babel: @action.bound method() { }\n // also: babel @action.bound method = () => {}\n return {\n configurable: true,\n enumerable: false,\n get: function () {\n defineBoundAction(this, propertyName, descriptor.value || descriptor.initializer.call(this));\n return this[propertyName];\n },\n set: dontReassignFields\n };\n }\n // field decorator Typescript @action.bound method = () => {}\n return {\n enumerable: false,\n configurable: true,\n set: function (v) {\n defineBoundAction(this, propertyName, v);\n },\n get: function () {\n return undefined;\n }\n };\n}\n\nvar action = function action(arg1, arg2, arg3, arg4) {\n // action(fn() {})\n if (arguments.length === 1 && typeof arg1 === \"function\")\n return createAction(arg1.name || \"\", arg1);\n // action(\"name\", fn() {})\n if (arguments.length === 2 && typeof arg2 === \"function\")\n return createAction(arg1, arg2);\n // @action(\"name\") fn() {}\n if (arguments.length === 1 && typeof arg1 === \"string\")\n return namedActionDecorator(arg1);\n // @action fn() {}\n if (arg4 === true) {\n // apply to instance immediately\n addHiddenProp(arg1, arg2, createAction(arg1.name || arg2, arg3.value, this));\n }\n else {\n return namedActionDecorator(arg2).apply(null, arguments);\n }\n};\naction.bound = boundActionDecorator;\nfunction runInAction(arg1, arg2) {\n var actionName = typeof arg1 === \"string\" ? arg1 : arg1.name || \"\";\n var fn = typeof arg1 === \"function\" ? arg1 : arg2;\n if (false) {\n invariant(typeof fn === \"function\" && fn.length === 0, \"`runInAction` expects a function without arguments\");\n if (typeof actionName !== \"string\" || !actionName)\n fail(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n return executeAction(actionName, fn, this, undefined);\n}\nfunction isAction(thing) {\n return typeof thing === \"function\" && thing.isMobxAction === true;\n}\nfunction defineBoundAction(target, propertyName, fn) {\n addHiddenProp(target, propertyName, createAction(propertyName, fn.bind(target)));\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nfunction autorun(view, opts) {\n if (opts === void 0) { opts = EMPTY_OBJECT; }\n if (false) {\n invariant(typeof view === \"function\", \"Autorun expects a function as first argument\");\n invariant(isAction(view) === false, \"Autorun does not accept actions since actions are untrackable\");\n }\n var name = (opts && opts.name) || view.name || \"Autorun@\" + getNextId();\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) {\n // normal autorun\n reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n }\n else {\n var scheduler_1 = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled_1 = false;\n reaction = new Reaction(name, function () {\n if (!isScheduled_1) {\n isScheduled_1 = true;\n scheduler_1(function () {\n isScheduled_1 = false;\n if (!reaction.isDisposed)\n reaction.track(reactionRunner);\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n reaction.schedule();\n return reaction.getDisposer();\n}\nvar run = function (f) { return f(); };\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? function (f) { return setTimeout(f, opts.delay); }\n : run;\n}\nfunction reaction(expression, effect, opts) {\n if (opts === void 0) { opts = EMPTY_OBJECT; }\n if (false) {\n invariant(typeof expression === \"function\", \"First argument to reaction should be a function\");\n invariant(typeof opts === \"object\", \"Third argument of reactions should be an object\");\n }\n var name = opts.name || \"Reaction@\" + getNextId();\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var equals = opts.compareStructural\n ? comparer.structural\n : opts.equals || comparer.default;\n var r = new Reaction(name, function () {\n if (firstTime || runSync) {\n reactionRunner();\n }\n else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false; // Q: move into reaction runner?\n if (r.isDisposed)\n return;\n var changed = false;\n r.track(function () {\n var nextValue = expression(r);\n changed = firstTime || !equals(value, nextValue);\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately)\n effectAction(value, r);\n if (!firstTime && changed === true)\n effectAction(value, r);\n if (firstTime)\n firstTime = false;\n }\n r.schedule();\n return r.getDisposer();\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments);\n }\n catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\n\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(\"onBecomeObserved\", thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(\"onBecomeUnobserved\", thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = typeof arg3 === \"function\" ? arg3 : arg2;\n var listenersKey = hook + \"Listeners\";\n if (atom[listenersKey]) {\n atom[listenersKey].add(cb);\n }\n else {\n atom[listenersKey] = new Set([cb]);\n }\n var orig = atom[hook];\n if (typeof orig !== \"function\")\n return fail(\"production\" !== \"production\" && \"Not an atom that can be (un)observed\");\n return function () {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners.delete(cb);\n if (hookListeners.size === 0) {\n delete atom[listenersKey];\n }\n }\n };\n}\n\nfunction configure(options) {\n var enforceActions = options.enforceActions, computedRequiresReaction = options.computedRequiresReaction, computedConfigurable = options.computedConfigurable, disableErrorBoundaries = options.disableErrorBoundaries, reactionScheduler = options.reactionScheduler, reactionRequiresObservable = options.reactionRequiresObservable, observableRequiresReaction = options.observableRequiresReaction;\n if (options.isolateGlobalState === true) {\n isolateGlobalState();\n }\n if (enforceActions !== undefined) {\n if (typeof enforceActions === \"boolean\" || enforceActions === \"strict\")\n deprecated(\"Deprecated value for 'enforceActions', use 'false' => '\\\"never\\\"', 'true' => '\\\"observed\\\"', '\\\"strict\\\"' => \\\"'always'\\\" instead\");\n var ea = void 0;\n switch (enforceActions) {\n case true:\n case \"observed\":\n ea = true;\n break;\n case false:\n case \"never\":\n ea = false;\n break;\n case \"strict\":\n case \"always\":\n ea = \"strict\";\n break;\n default:\n fail(\"Invalid value for 'enforceActions': '\" + enforceActions + \"', expected 'never', 'always' or 'observed'\");\n }\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === \"strict\" ? false : true;\n }\n if (computedRequiresReaction !== undefined) {\n globalState.computedRequiresReaction = !!computedRequiresReaction;\n }\n if (reactionRequiresObservable !== undefined) {\n globalState.reactionRequiresObservable = !!reactionRequiresObservable;\n }\n if (observableRequiresReaction !== undefined) {\n globalState.observableRequiresReaction = !!observableRequiresReaction;\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n }\n if (computedConfigurable !== undefined) {\n globalState.computedConfigurable = !!computedConfigurable;\n }\n if (disableErrorBoundaries !== undefined) {\n if (disableErrorBoundaries === true)\n console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\");\n globalState.disableErrorBoundaries = !!disableErrorBoundaries;\n }\n if (reactionScheduler) {\n setReactionScheduler(reactionScheduler);\n }\n}\n\nfunction decorate(thing, decorators) {\n \"production\" !== \"production\" &&\n invariant(isPlainObject(decorators), \"Decorators should be a key value map\");\n var target = typeof thing === \"function\" ? thing.prototype : thing;\n var _loop_1 = function (prop) {\n var propertyDecorators = decorators[prop];\n if (!Array.isArray(propertyDecorators)) {\n propertyDecorators = [propertyDecorators];\n }\n \"production\" !== \"production\" &&\n invariant(propertyDecorators.every(function (decorator) { return typeof decorator === \"function\"; }), \"Decorate: expected a decorator function or array of decorator functions for '\" + prop + \"'\");\n var descriptor = Object.getOwnPropertyDescriptor(target, prop);\n var newDescriptor = propertyDecorators.reduce(function (accDescriptor, decorator) { return decorator(target, prop, accDescriptor); }, descriptor);\n if (newDescriptor)\n Object.defineProperty(target, prop, newDescriptor);\n };\n for (var prop in decorators) {\n _loop_1(prop);\n }\n return thing;\n}\n\nfunction extendObservable(target, properties, decorators, options) {\n if (false) {\n invariant(arguments.length >= 2 && arguments.length <= 4, \"'extendObservable' expected 2-4 arguments\");\n invariant(typeof target === \"object\", \"'extendObservable' expects an object as first argument\");\n invariant(!isObservableMap(target), \"'extendObservable' should not be used on maps, use map.merge instead\");\n }\n options = asCreateObservableOptions(options);\n var defaultDecorator = getDefaultDecoratorFromObjectOptions(options);\n initializeInstance(target); // Fixes #1740\n asObservableObject(target, options.name, defaultDecorator.enhancer); // make sure object is observable, even without initial props\n if (properties)\n extendObservableObjectWithProperties(target, properties, decorators, defaultDecorator);\n return target;\n}\nfunction getDefaultDecoratorFromObjectOptions(options) {\n return options.defaultDecorator || (options.deep === false ? refDecorator : deepDecorator);\n}\nfunction extendObservableObjectWithProperties(target, properties, decorators, defaultDecorator) {\n var e_1, _a, e_2, _b;\n if (false) {\n invariant(!isObservable(properties), \"Extending an object with another observable (object) is not supported. Please construct an explicit propertymap, using `toJS` if need. See issue #540\");\n if (decorators) {\n var keys = getPlainObjectKeys(decorators);\n try {\n for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {\n var key = keys_1_1.value;\n if (!(key in properties))\n fail(\"Trying to declare a decorator for unspecified property '\" + stringifyKey(key) + \"'\");\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n }\n startBatch();\n try {\n var keys = ownKeys(properties);\n try {\n for (var keys_2 = __values(keys), keys_2_1 = keys_2.next(); !keys_2_1.done; keys_2_1 = keys_2.next()) {\n var key = keys_2_1.value;\n var descriptor = Object.getOwnPropertyDescriptor(properties, key);\n if (false) {\n if (!isPlainObject(properties))\n fail(\"'extendObservable' only accepts plain objects as second argument\");\n if (isComputed(descriptor.value))\n fail(\"Passing a 'computed' as initial property value is no longer supported by extendObservable. Use a getter or decorator instead\");\n }\n var decorator = decorators && key in decorators\n ? decorators[key]\n : descriptor.get\n ? computedDecorator\n : defaultDecorator;\n if (false)\n fail(\"Not a valid decorator for '\" + stringifyKey(key) + \"', got: \" + decorator);\n var resultDescriptor = decorator(target, key, descriptor, true);\n if (resultDescriptor // otherwise, assume already applied, due to `applyToInstance`\n )\n Object.defineProperty(target, key, resultDescriptor);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (keys_2_1 && !keys_2_1.done && (_b = keys_2.return)) _b.call(keys_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n finally {\n endBatch();\n }\n}\n\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name\n };\n if (node.observing && node.observing.length > 0)\n result.dependencies = unique(node.observing).map(nodeToDependencyTree);\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name\n };\n if (hasObservers(node))\n result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n return result;\n}\n\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nfunction flow(generator) {\n if (arguments.length !== 1)\n fail(!!\"production\" && \"Flow expects 1 argument and cannot be used as decorator\");\n var name = generator.name || \"\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n return function () {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function (resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n }\n catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.throw).call(gen, err);\n }\n catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (ret && typeof ret.then === \"function\") {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done)\n return resolve(ret.value);\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function () {\n try {\n if (pendingPromise)\n cancelPromise(pendingPromise);\n // Finally block can return (or yield) stuff..\n var res = gen.return(undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n }\n catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n return promise;\n };\n}\nfunction cancelPromise(promise) {\n if (typeof promise.cancel === \"function\")\n promise.cancel();\n}\n\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing);\n }\n else if (isObservableObject(thing)) {\n if (typeof propOrHandler !== \"string\")\n return fail(\"production\" !== \"production\" &&\n \"InterceptReads can only be used with a specific property, not with an object in general\");\n target = getAdministration(thing, propOrHandler);\n }\n else {\n return fail(\"production\" !== \"production\" &&\n \"Expected observable map, object or array as first array\");\n }\n if (target.dehancer !== undefined)\n return fail(\"production\" !== \"production\" && \"An intercept reader was already established\");\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function () {\n target.dehancer = undefined;\n };\n}\n\nfunction intercept(thing, propOrHandler, handler) {\n if (typeof handler === \"function\")\n return interceptProperty(thing, propOrHandler, handler);\n else\n return interceptInterceptable(thing, propOrHandler);\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept(handler);\n}\n\nfunction _isComputed(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (isObservableObject(value) === false)\n return false;\n if (!value[$mobx].values.has(property))\n return false;\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n }\n return isComputedValue(value);\n}\nfunction isComputed(value) {\n if (arguments.length > 1)\n return fail(\"production\" !== \"production\" &&\n \"isComputed expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n if (typeof propName !== \"string\")\n return fail(\"production\" !== \"production\" &&\n \"isComputed expected a property name as second argument\");\n return _isComputed(value, propName);\n}\n\nfunction _isObservable(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (false)\n return fail(\"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n if (isObservableObject(value)) {\n return value[$mobx].values.has(property);\n }\n return false;\n }\n // For first check, see #701\n return (isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value));\n}\nfunction isObservable(value) {\n if (arguments.length !== 1)\n fail(\"production\" !== \"production\" &&\n \"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n if (typeof propName !== \"string\")\n return fail(\"production\" !== \"production\" && \"expected a property name as second argument\");\n return _isObservable(value, propName);\n}\n\nfunction keys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].getKeys();\n }\n if (isObservableMap(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (_, index) { return index; });\n }\n return fail(\"production\" !== \"production\" &&\n \"'keys()' can only be used on observable objects, arrays, sets and maps\");\n}\nfunction values(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) { return obj[key]; });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) { return obj.get(key); });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values());\n }\n if (isObservableArray(obj)) {\n return obj.slice();\n }\n return fail(\"production\" !== \"production\" &&\n \"'values()' can only be used on observable objects, arrays, sets and maps\");\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) { return [key, obj[key]]; });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) { return [key, obj.get(key)]; });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (key, index) { return [index, key]; });\n }\n return fail(\"production\" !== \"production\" &&\n \"'entries()' can only be used on observable objects, arrays and maps\");\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var values_1 = key;\n try {\n for (var key_1 in values_1)\n set(obj, key_1, values_1[key_1]);\n }\n finally {\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) {\n var adm = obj[$mobx];\n var existingObservable = adm.values.get(key);\n if (existingObservable) {\n adm.write(key, value);\n }\n else {\n adm.addObservableProp(key, value, adm.defaultEnhancer);\n }\n }\n else if (isObservableMap(obj)) {\n obj.set(key, value);\n }\n else if (isObservableSet(obj)) {\n obj.add(key);\n }\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\")\n key = parseInt(key, 10);\n invariant(key >= 0, \"Not a valid index: '\" + key + \"'\");\n startBatch();\n if (key >= obj.length)\n obj.length = key + 1;\n obj[key] = value;\n endBatch();\n }\n else {\n return fail(\"production\" !== \"production\" &&\n \"'set()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) {\n obj[$mobx].remove(key);\n }\n else if (isObservableMap(obj)) {\n obj.delete(key);\n }\n else if (isObservableSet(obj)) {\n obj.delete(key);\n }\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\")\n key = parseInt(key, 10);\n invariant(key >= 0, \"Not a valid index: '\" + key + \"'\");\n obj.splice(key, 1);\n }\n else {\n return fail(\"production\" !== \"production\" &&\n \"'remove()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) {\n // return keys(obj).indexOf(key) >= 0\n var adm = getAdministration(obj);\n return adm.has(key);\n }\n else if (isObservableMap(obj)) {\n return obj.has(key);\n }\n else if (isObservableSet(obj)) {\n return obj.has(key);\n }\n else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length;\n }\n else {\n return fail(\"production\" !== \"production\" &&\n \"'has()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction get(obj, key) {\n if (!has(obj, key))\n return undefined;\n if (isObservableObject(obj)) {\n return obj[key];\n }\n else if (isObservableMap(obj)) {\n return obj.get(key);\n }\n else if (isObservableArray(obj)) {\n return obj[key];\n }\n else {\n return fail(\"production\" !== \"production\" &&\n \"'get()' can only be used on observable objects, arrays and maps\");\n }\n}\n\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (typeof cbOrFire === \"function\")\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n else\n return observeObservable(thing, propOrCb, cbOrFire);\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe(listener, fireImmediately);\n}\n\nvar defaultOptions = {\n detectCycles: true,\n exportMapsAsObjects: true,\n recurseEverything: false\n};\nfunction cache(map, key, value, options) {\n if (options.detectCycles)\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, options, __alreadySeen) {\n if (!options.recurseEverything && !isObservable(source))\n return source;\n if (typeof source !== \"object\")\n return source;\n // Directly return null if source is null\n if (source === null)\n return null;\n // Directly return the Date object itself if contained in the observable\n if (source instanceof Date)\n return source;\n if (isObservableValue(source))\n return toJSHelper(source.get(), options, __alreadySeen);\n // make sure we track the keys of the object\n if (isObservable(source))\n keys(source);\n var detectCycles = options.detectCycles === true;\n if (detectCycles && source !== null && __alreadySeen.has(source)) {\n return __alreadySeen.get(source);\n }\n if (isObservableArray(source) || Array.isArray(source)) {\n var res_1 = cache(__alreadySeen, source, [], options);\n var toAdd = source.map(function (value) { return toJSHelper(value, options, __alreadySeen); });\n res_1.length = toAdd.length;\n for (var i = 0, l = toAdd.length; i < l; i++)\n res_1[i] = toAdd[i];\n return res_1;\n }\n if (isObservableSet(source) || Object.getPrototypeOf(source) === Set.prototype) {\n if (options.exportMapsAsObjects === false) {\n var res_2 = cache(__alreadySeen, source, new Set(), options);\n source.forEach(function (value) {\n res_2.add(toJSHelper(value, options, __alreadySeen));\n });\n return res_2;\n }\n else {\n var res_3 = cache(__alreadySeen, source, [], options);\n source.forEach(function (value) {\n res_3.push(toJSHelper(value, options, __alreadySeen));\n });\n return res_3;\n }\n }\n if (isObservableMap(source) || Object.getPrototypeOf(source) === Map.prototype) {\n if (options.exportMapsAsObjects === false) {\n var res_4 = cache(__alreadySeen, source, new Map(), options);\n source.forEach(function (value, key) {\n res_4.set(key, toJSHelper(value, options, __alreadySeen));\n });\n return res_4;\n }\n else {\n var res_5 = cache(__alreadySeen, source, {}, options);\n source.forEach(function (value, key) {\n res_5[key] = toJSHelper(value, options, __alreadySeen);\n });\n return res_5;\n }\n }\n // Fallback to the situation that source is an ObservableObject or a plain object\n var res = cache(__alreadySeen, source, {}, options);\n getPlainObjectKeys(source).forEach(function (key) {\n res[key] = toJSHelper(source[key], options, __alreadySeen);\n });\n return res;\n}\nfunction toJS(source, options) {\n // backward compatibility\n if (typeof options === \"boolean\")\n options = { detectCycles: options };\n if (!options)\n options = defaultOptions;\n options.detectCycles =\n options.detectCycles === undefined\n ? options.recurseEverything === true\n : options.detectCycles === true;\n var __alreadySeen;\n if (options.detectCycles)\n __alreadySeen = new Map();\n return toJSHelper(source, options, __alreadySeen);\n}\n\nfunction trace() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var enterBreakPoint = false;\n if (typeof args[args.length - 1] === \"boolean\")\n enterBreakPoint = args.pop();\n var derivation = getAtomFromArgs(args);\n if (!derivation) {\n return fail(\"production\" !== \"production\" &&\n \"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly\");\n }\n if (derivation.isTracing === TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + derivation.name + \"' tracing enabled\");\n }\n derivation.isTracing = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG;\n}\nfunction getAtomFromArgs(args) {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nfunction transaction(action, thisArg) {\n if (thisArg === void 0) { thisArg = undefined; }\n startBatch();\n try {\n return action.apply(thisArg);\n }\n finally {\n endBatch();\n }\n}\n\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || (arg1 && typeof arg1 === \"object\"))\n return whenPromise(predicate, arg1);\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n timeoutHandle = setTimeout(function () {\n if (!disposer[$mobx].isDisposed) {\n disposer();\n var error = new Error(\"WHEN_TIMEOUT\");\n if (opts.onError)\n opts.onError(error);\n else\n throw error;\n }\n }, opts.timeout);\n }\n opts.name = opts.name || \"When@\" + getNextId();\n var effectAction = createAction(opts.name + \"-effect\", effect);\n var disposer = autorun(function (r) {\n if (predicate()) {\n r.dispose();\n if (timeoutHandle)\n clearTimeout(timeoutHandle);\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n if (false)\n return fail(\"the options 'onError' and 'promise' cannot be combined\");\n var cancel;\n var res = new Promise(function (resolve, reject) {\n var disposer = _when(predicate, resolve, __assign(__assign({}, opts), { onError: reject }));\n cancel = function () {\n disposer();\n reject(\"WHEN_CANCELLED\");\n };\n });\n res.cancel = cancel;\n return res;\n}\n\nfunction getAdm(target) {\n return target[$mobx];\n}\nfunction isPropertyKey(val) {\n return typeof val === \"string\" || typeof val === \"number\" || typeof val === \"symbol\";\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function (target, name) {\n if (name === $mobx || name === \"constructor\" || name === mobxDidRunLazyInitializersSymbol)\n return true;\n var adm = getAdm(target);\n // MWE: should `in` operator be reactive? If not, below code path will be faster / more memory efficient\n // TODO: check performance stats!\n // if (adm.values.get(name as string)) return true\n if (isPropertyKey(name))\n return adm.has(name);\n return name in target;\n },\n get: function (target, name) {\n if (name === $mobx || name === \"constructor\" || name === mobxDidRunLazyInitializersSymbol)\n return target[name];\n var adm = getAdm(target);\n var observable = adm.values.get(name);\n if (observable instanceof Atom) {\n var result = observable.get();\n if (result === undefined) {\n // This fixes #1796, because deleting a prop that has an\n // undefined value won't retrigger a observer (no visible effect),\n // the autorun wouldn't subscribe to future key changes (see also next comment)\n adm.has(name);\n }\n return result;\n }\n // make sure we start listening to future keys\n // note that we only do this here for optimization\n if (isPropertyKey(name))\n adm.has(name);\n return target[name];\n },\n set: function (target, name, value) {\n if (!isPropertyKey(name))\n return false;\n set(target, name, value);\n return true;\n },\n deleteProperty: function (target, name) {\n if (!isPropertyKey(name))\n return false;\n var adm = getAdm(target);\n adm.remove(name);\n return true;\n },\n ownKeys: function (target) {\n var adm = getAdm(target);\n adm.keysAtom.reportObserved();\n return Reflect.ownKeys(target);\n },\n preventExtensions: function (target) {\n fail(\"Dynamic observable objects cannot be frozen\");\n return false;\n }\n};\nfunction createDynamicObservableObject(base) {\n var proxy = new Proxy(base, objectProxyTraps);\n base[$mobx].proxy = proxy;\n return proxy;\n}\n\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors !== undefined && interceptable.interceptors.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors || (interceptable.interceptors = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1)\n interceptors.splice(idx, 1);\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = __spread((interceptable.interceptors || []));\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n invariant(!change || change.type, \"Intercept handlers should return nothing or a change object\");\n if (!change)\n break;\n }\n return change;\n }\n finally {\n untrackedEnd(prevU);\n }\n}\n\nfunction hasListeners(listenable) {\n return listenable.changeListeners !== undefined && listenable.changeListeners.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners || (listenable.changeListeners = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1)\n listeners.splice(idx, 1);\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners;\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change);\n }\n untrackedEnd(prevU);\n}\n\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function (target, name) {\n if (name === $mobx)\n return target[$mobx];\n if (name === \"length\")\n return target[$mobx].getArrayLength();\n if (typeof name === \"number\") {\n return arrayExtensions.get.call(target, name);\n }\n if (typeof name === \"string\" && !isNaN(name)) {\n return arrayExtensions.get.call(target, parseInt(name));\n }\n if (arrayExtensions.hasOwnProperty(name)) {\n return arrayExtensions[name];\n }\n return target[name];\n },\n set: function (target, name, value) {\n if (name === \"length\") {\n target[$mobx].setArrayLength(value);\n }\n if (typeof name === \"number\") {\n arrayExtensions.set.call(target, name, value);\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value;\n }\n else {\n // numeric string\n arrayExtensions.set.call(target, parseInt(name), value);\n }\n return true;\n },\n preventExtensions: function (target) {\n fail(\"Observable arrays cannot be frozen\");\n return false;\n }\n};\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) { name = \"ObservableArray@\" + getNextId(); }\n if (owned === void 0) { owned = false; }\n var adm = new ObservableArrayAdministration(name, enhancer, owned);\n addHiddenFinalProp(adm.values, $mobx, adm);\n var proxy = new Proxy(adm.values, arrayTraps);\n adm.proxy = proxy;\n if (initialValues && initialValues.length) {\n var prev = allowStateChangesStart(true);\n adm.spliceWithArray(0, 0, initialValues);\n allowStateChangesEnd(prev);\n }\n return proxy;\n}\nvar ObservableArrayAdministration = /** @class */ (function () {\n function ObservableArrayAdministration(name, enhancer, owned) {\n this.owned = owned;\n this.values = [];\n this.proxy = undefined;\n this.lastKnownLength = 0;\n this.atom = new Atom(name || \"ObservableArray@\" + getNextId());\n this.enhancer = function (newV, oldV) { return enhancer(newV, oldV, name + \"[..]\"); };\n }\n ObservableArrayAdministration.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined)\n return this.dehancer(value);\n return value;\n };\n ObservableArrayAdministration.prototype.dehanceValues = function (values) {\n if (this.dehancer !== undefined && values.length > 0)\n return values.map(this.dehancer);\n return values;\n };\n ObservableArrayAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableArrayAdministration.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n if (fireImmediately) {\n listener({\n object: this.proxy,\n type: \"splice\",\n index: 0,\n added: this.values.slice(),\n addedCount: this.values.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n ObservableArrayAdministration.prototype.getArrayLength = function () {\n this.atom.reportObserved();\n return this.values.length;\n };\n ObservableArrayAdministration.prototype.setArrayLength = function (newLength) {\n if (typeof newLength !== \"number\" || newLength < 0)\n throw new Error(\"[mobx.array] Out of range: \" + newLength);\n var currentLength = this.values.length;\n if (newLength === currentLength)\n return;\n else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for (var i = 0; i < newLength - currentLength; i++)\n newItems[i] = undefined; // No Array.fill everywhere...\n this.spliceWithArray(currentLength, 0, newItems);\n }\n else\n this.spliceWithArray(newLength, currentLength - newLength);\n };\n ObservableArrayAdministration.prototype.updateArrayLength = function (oldLength, delta) {\n if (oldLength !== this.lastKnownLength)\n throw new Error(\"[mobx] Modification exception: the internal structure of an observable array was changed.\");\n this.lastKnownLength += delta;\n };\n ObservableArrayAdministration.prototype.spliceWithArray = function (index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom);\n var length = this.values.length;\n if (index === undefined)\n index = 0;\n else if (index > length)\n index = length;\n else if (index < 0)\n index = Math.max(0, length + index);\n if (arguments.length === 1)\n deleteCount = length - index;\n else if (deleteCount === undefined || deleteCount === null)\n deleteCount = 0;\n else\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n if (newItems === undefined)\n newItems = EMPTY_ARRAY;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy,\n type: \"splice\",\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change)\n return EMPTY_ARRAY;\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function (v) { return _this.enhancer(v, undefined); });\n if (false) {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength(length, lengthDelta); // checks if internal array wasn't modified\n }\n var res = this.spliceItemsIntoValues(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0)\n this.notifyArraySplice(index, newItems, res);\n return this.dehanceValues(res);\n };\n ObservableArrayAdministration.prototype.spliceItemsIntoValues = function (index, deleteCount, newItems) {\n var _a;\n if (newItems.length < MAX_SPLICE_SIZE) {\n return (_a = this.values).splice.apply(_a, __spread([index, deleteCount], newItems));\n }\n else {\n var res = this.values.slice(index, index + deleteCount);\n this.values = this.values\n .slice(0, index)\n .concat(newItems, this.values.slice(index + deleteCount));\n return res;\n }\n };\n ObservableArrayAdministration.prototype.notifyArrayChildUpdate = function (index, newValue, oldValue) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n object: this.proxy,\n type: \"update\",\n index: index,\n newValue: newValue,\n oldValue: oldValue\n }\n : null;\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));\n this.atom.reportChanged();\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n };\n ObservableArrayAdministration.prototype.notifyArraySplice = function (index, added, removed) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n object: this.proxy,\n type: \"splice\",\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));\n this.atom.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n };\n return ObservableArrayAdministration;\n}());\nvar arrayExtensions = {\n intercept: function (handler) {\n return this[$mobx].intercept(handler);\n },\n observe: function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n var adm = this[$mobx];\n return adm.observe(listener, fireImmediately);\n },\n clear: function () {\n return this.splice(0);\n },\n replace: function (newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray(0, adm.values.length, newItems);\n },\n /**\n * Converts this array back to a (shallow) javascript structure.\n * For a deep clone use mobx.toJS\n */\n toJS: function () {\n return this.slice();\n },\n toJSON: function () {\n // Used by JSON.stringify\n return this.toJS();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice: function (index, deleteCount) {\n var newItems = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n newItems[_i - 2] = arguments[_i];\n }\n var adm = this[$mobx];\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray(index);\n case 2:\n return adm.spliceWithArray(index, deleteCount);\n }\n return adm.spliceWithArray(index, deleteCount, newItems);\n },\n spliceWithArray: function (index, deleteCount, newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray(index, deleteCount, newItems);\n },\n push: function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var adm = this[$mobx];\n adm.spliceWithArray(adm.values.length, 0, items);\n return adm.values.length;\n },\n pop: function () {\n return this.splice(Math.max(this[$mobx].values.length - 1, 0), 1)[0];\n },\n shift: function () {\n return this.splice(0, 1)[0];\n },\n unshift: function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var adm = this[$mobx];\n adm.spliceWithArray(0, 0, items);\n return adm.values.length;\n },\n reverse: function () {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n // so we deviate from the default and just make it an dervitation\n if (false) {\n console.warn(\"[mobx] `observableArray.reverse()` will not update the array in place. Use `observableArray.slice().reverse()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().reverse())` to reverse & update in place\");\n }\n var clone = this.slice();\n return clone.reverse.apply(clone, arguments);\n },\n sort: function (compareFn) {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (false) {\n console.warn(\"[mobx] `observableArray.sort()` will not update the array in place. Use `observableArray.slice().sort()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().sort())` to sort & update in place\");\n }\n var clone = this.slice();\n return clone.sort.apply(clone, arguments);\n },\n remove: function (value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues(adm.values).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n },\n get: function (index) {\n var adm = this[$mobx];\n if (adm) {\n if (index < adm.values.length) {\n adm.atom.reportObserved();\n return adm.dehanceValue(adm.values[index]);\n }\n console.warn(\"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + adm.values.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\");\n }\n return undefined;\n },\n set: function (index, newValue) {\n var adm = this[$mobx];\n var values = adm.values;\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(adm.atom);\n var oldValue = values[index];\n if (hasInterceptors(adm)) {\n var change = interceptChange(adm, {\n type: \"update\",\n object: adm.proxy,\n index: index,\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = adm.enhancer(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n adm.notifyArrayChildUpdate(index, newValue, oldValue);\n }\n }\n else if (index === values.length) {\n // add a new item\n adm.spliceWithArray(index, 0, [newValue]);\n }\n else {\n // out of bounds\n throw new Error(\"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + values.length);\n }\n }\n};\n[\n \"concat\",\n \"flat\",\n \"includes\",\n \"indexOf\",\n \"join\",\n \"lastIndexOf\",\n \"slice\",\n \"toString\",\n \"toLocaleString\"\n].forEach(function (funcName) {\n // Feature detection (eg flat may not be available)\n if (typeof Array.prototype[funcName] !== \"function\") {\n return;\n }\n arrayExtensions[funcName] = function () {\n var adm = this[$mobx];\n adm.atom.reportObserved();\n var dehancedValues = adm.dehanceValues(adm.values);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n});\n[\"every\", \"filter\", \"find\", \"findIndex\", \"flatMap\", \"forEach\", \"map\", \"some\"].forEach(function (funcName) {\n // Feature detection (eg flatMap may not be available)\n if (typeof Array.prototype[funcName] !== \"function\") {\n return;\n }\n arrayExtensions[funcName] = function (callback, thisArg) {\n var _this = this;\n var adm = this[$mobx];\n adm.atom.reportObserved();\n var dehancedValues = adm.dehanceValues(adm.values);\n return dehancedValues[funcName](function (element, index) {\n return callback.call(thisArg, element, index, _this);\n }, thisArg);\n };\n});\n[\"reduce\", \"reduceRight\"].forEach(function (funcName) {\n arrayExtensions[funcName] = function () {\n var _this = this;\n var adm = this[$mobx];\n adm.atom.reportObserved();\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function (accumulator, currentValue, index) {\n currentValue = adm.dehanceValue(currentValue);\n return callback(accumulator, currentValue, index, _this);\n };\n return adm.values[funcName].apply(adm.values, arguments);\n };\n});\nvar isObservableArrayAdministration = createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\n\nvar _a;\nvar ObservableMapMarker = {};\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nvar ObservableMap = /** @class */ (function () {\n function ObservableMap(initialData, enhancer, name) {\n if (enhancer === void 0) { enhancer = deepEnhancer; }\n if (name === void 0) { name = \"ObservableMap@\" + getNextId(); }\n this.enhancer = enhancer;\n this.name = name;\n this[_a] = ObservableMapMarker;\n this._keysAtom = createAtom(this.name + \".keys()\");\n this[Symbol.toStringTag] = \"Map\";\n if (typeof Map !== \"function\") {\n throw new Error(\"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\");\n }\n this._data = new Map();\n this._hasMap = new Map();\n this.merge(initialData);\n }\n ObservableMap.prototype._has = function (key) {\n return this._data.has(key);\n };\n ObservableMap.prototype.has = function (key) {\n var _this = this;\n if (!globalState.trackingDerivation)\n return this._has(key);\n var entry = this._hasMap.get(key);\n if (!entry) {\n // todo: replace with atom (breaking change)\n var newEntry = (entry = new ObservableValue(this._has(key), referenceEnhancer, this.name + \".\" + stringifyKey(key) + \"?\", false));\n this._hasMap.set(key, newEntry);\n onBecomeUnobserved(newEntry, function () { return _this._hasMap.delete(key); });\n }\n return entry.get();\n };\n ObservableMap.prototype.set = function (key, value) {\n var hasKey = this._has(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? \"update\" : \"add\",\n object: this,\n newValue: value,\n name: key\n });\n if (!change)\n return this;\n value = change.newValue;\n }\n if (hasKey) {\n this._updateValue(key, value);\n }\n else {\n this._addValue(key, value);\n }\n return this;\n };\n ObservableMap.prototype.delete = function (key) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._keysAtom);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"delete\",\n object: this,\n name: key\n });\n if (!change)\n return false;\n }\n if (this._has(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"delete\",\n object: this,\n oldValue: this._data.get(key).value,\n name: key\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n transaction(function () {\n _this._keysAtom.reportChanged();\n _this._updateHasMapEntry(key, false);\n var observable = _this._data.get(key);\n observable.setNewValue(undefined);\n _this._data.delete(key);\n });\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n return true;\n }\n return false;\n };\n ObservableMap.prototype._updateHasMapEntry = function (key, value) {\n var entry = this._hasMap.get(key);\n if (entry) {\n entry.setNewValue(value);\n }\n };\n ObservableMap.prototype._updateValue = function (key, newValue) {\n var observable = this._data.get(key);\n newValue = observable.prepareNewValue(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"update\",\n object: this,\n oldValue: observable.value,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n }\n };\n ObservableMap.prototype._addValue = function (key, newValue) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._keysAtom);\n transaction(function () {\n var observable = new ObservableValue(newValue, _this.enhancer, _this.name + \".\" + stringifyKey(key), false);\n _this._data.set(key, observable);\n newValue = observable.value; // value might have been changed\n _this._updateHasMapEntry(key, true);\n _this._keysAtom.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n };\n ObservableMap.prototype.get = function (key) {\n if (this.has(key))\n return this.dehanceValue(this._data.get(key).get());\n return this.dehanceValue(undefined);\n };\n ObservableMap.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n ObservableMap.prototype.keys = function () {\n this._keysAtom.reportObserved();\n return this._data.keys();\n };\n ObservableMap.prototype.values = function () {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function () {\n var _b = keys.next(), done = _b.done, value = _b.value;\n return {\n done: done,\n value: done ? undefined : self.get(value)\n };\n }\n });\n };\n ObservableMap.prototype.entries = function () {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function () {\n var _b = keys.next(), done = _b.done, value = _b.value;\n return {\n done: done,\n value: done ? undefined : [value, self.get(value)]\n };\n }\n });\n };\n ObservableMap.prototype[(_a = $mobx, Symbol.iterator)] = function () {\n return this.entries();\n };\n ObservableMap.prototype.forEach = function (callback, thisArg) {\n var e_1, _b;\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2), key = _e[0], value = _e[1];\n callback.call(thisArg, value, key, this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /** Merge another object into this object, returns this. */\n ObservableMap.prototype.merge = function (other) {\n var _this = this;\n if (isObservableMap(other)) {\n other = other.toJS();\n }\n transaction(function () {\n var prev = allowStateChangesStart(true);\n try {\n if (isPlainObject(other))\n getPlainObjectKeys(other).forEach(function (key) {\n return _this.set(key, other[key]);\n });\n else if (Array.isArray(other))\n other.forEach(function (_b) {\n var _c = __read(_b, 2), key = _c[0], value = _c[1];\n return _this.set(key, value);\n });\n else if (isES6Map(other)) {\n if (other.constructor !== Map)\n fail(\"Cannot initialize from classes that inherit from Map: \" + other.constructor.name); // prettier-ignore\n other.forEach(function (value, key) { return _this.set(key, value); });\n }\n else if (other !== null && other !== undefined)\n fail(\"Cannot initialize map from \" + other);\n }\n finally {\n allowStateChangesEnd(prev);\n }\n });\n return this;\n };\n ObservableMap.prototype.clear = function () {\n var _this = this;\n transaction(function () {\n untracked(function () {\n var e_2, _b;\n try {\n for (var _c = __values(_this.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var key = _d.value;\n _this.delete(key);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n });\n });\n };\n ObservableMap.prototype.replace = function (values) {\n var _this = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function () {\n var e_3, _b, e_4, _c;\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n try {\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (var _d = __values(_this._data.keys()), _e = _d.next(); !_e.done; _e = _d.next()) {\n var key = _e.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this.delete(key);\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n else {\n // Delete prevented by interceptor\n var value = _this._data.get(key);\n orderedData.set(key, value);\n }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_3) throw e_3.error; }\n }\n try {\n // Merge entries\n for (var _f = __values(replacementMap.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = __read(_g.value, 2), key = _h[0], value = _h[1];\n // We will want to know whether a new key is added\n var keyExisted = _this._data.has(key);\n // Add or update value\n _this.set(key, value);\n // The addition could have been prevent by interceptor\n if (_this._data.has(key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var value_1 = _this._data.get(key);\n orderedData.set(key, value_1);\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_c = _f.return)) _c.call(_f);\n }\n finally { if (e_4) throw e_4.error; }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this._data.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n _this._keysAtom.reportChanged();\n }\n else {\n var iter1 = _this._data.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while (!next1.done) {\n if (next1.value !== next2.value) {\n _this._keysAtom.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this._data = orderedData;\n });\n return this;\n };\n Object.defineProperty(ObservableMap.prototype, \"size\", {\n get: function () {\n this._keysAtom.reportObserved();\n return this._data.size;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Returns a plain object that represents this map.\n * Note that all the keys being stringified.\n * If there are duplicating keys after converting them to strings, behaviour is undetermined.\n */\n ObservableMap.prototype.toPOJO = function () {\n var e_5, _b;\n var res = {};\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2), key = _e[0], value = _e[1];\n // We lie about symbol key types due to https://github.com/Microsoft/TypeScript/issues/1863\n res[typeof key === \"symbol\" ? key : stringifyKey(key)] = value;\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return res;\n };\n /**\n * Returns a shallow non observable object clone of this map.\n * Note that the values migth still be observable. For a deep clone use mobx.toJS.\n */\n ObservableMap.prototype.toJS = function () {\n return new Map(this);\n };\n ObservableMap.prototype.toJSON = function () {\n // Used by JSON.stringify\n return this.toPOJO();\n };\n ObservableMap.prototype.toString = function () {\n var _this = this;\n return (this.name +\n \"[{ \" +\n Array.from(this.keys())\n .map(function (key) { return stringifyKey(key) + \": \" + (\"\" + _this.get(key)); })\n .join(\", \") +\n \" }]\");\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n ObservableMap.prototype.observe = function (listener, fireImmediately) {\n \"production\" !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support fireImmediately=true in combination with maps.\");\n return registerListener(this, listener);\n };\n ObservableMap.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n return ObservableMap;\n}());\n/* 'var' fixes small-build issue */\nvar isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap);\n\nvar _a$1;\nvar ObservableSetMarker = {};\nvar ObservableSet = /** @class */ (function () {\n function ObservableSet(initialData, enhancer, name) {\n if (enhancer === void 0) { enhancer = deepEnhancer; }\n if (name === void 0) { name = \"ObservableSet@\" + getNextId(); }\n this.name = name;\n this[_a$1] = ObservableSetMarker;\n this._data = new Set();\n this._atom = createAtom(this.name);\n this[Symbol.toStringTag] = \"Set\";\n if (typeof Set !== \"function\") {\n throw new Error(\"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\");\n }\n this.enhancer = function (newV, oldV) { return enhancer(newV, oldV, name); };\n if (initialData) {\n this.replace(initialData);\n }\n }\n ObservableSet.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n ObservableSet.prototype.clear = function () {\n var _this = this;\n transaction(function () {\n untracked(function () {\n var e_1, _b;\n try {\n for (var _c = __values(_this._data.values()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var value = _d.value;\n _this.delete(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n });\n };\n ObservableSet.prototype.forEach = function (callbackFn, thisArg) {\n var e_2, _b;\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var value = _d.value;\n callbackFn.call(thisArg, value, value, this);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n Object.defineProperty(ObservableSet.prototype, \"size\", {\n get: function () {\n this._atom.reportObserved();\n return this._data.size;\n },\n enumerable: true,\n configurable: true\n });\n ObservableSet.prototype.add = function (value) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._atom);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"add\",\n object: this,\n newValue: value\n });\n if (!change)\n return this;\n // TODO: ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(function () {\n _this._data.add(_this.enhancer(value, undefined));\n _this._atom.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this,\n newValue: value\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(change);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n }\n return this;\n };\n ObservableSet.prototype.delete = function (value) {\n var _this = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"delete\",\n object: this,\n oldValue: value\n });\n if (!change)\n return false;\n }\n if (this.has(value)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"delete\",\n object: this,\n oldValue: value\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name }));\n transaction(function () {\n _this._atom.reportChanged();\n _this._data.delete(value);\n });\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n return true;\n }\n return false;\n };\n ObservableSet.prototype.has = function (value) {\n this._atom.reportObserved();\n return this._data.has(this.dehanceValue(value));\n };\n ObservableSet.prototype.entries = function () {\n var nextIndex = 0;\n var keys = Array.from(this.keys());\n var values = Array.from(this.values());\n return makeIterable({\n next: function () {\n var index = nextIndex;\n nextIndex += 1;\n return index < values.length\n ? { value: [keys[index], values[index]], done: false }\n : { done: true };\n }\n });\n };\n ObservableSet.prototype.keys = function () {\n return this.values();\n };\n ObservableSet.prototype.values = function () {\n this._atom.reportObserved();\n var self = this;\n var nextIndex = 0;\n var observableValues = Array.from(this._data.values());\n return makeIterable({\n next: function () {\n return nextIndex < observableValues.length\n ? { value: self.dehanceValue(observableValues[nextIndex++]), done: false }\n : { done: true };\n }\n });\n };\n ObservableSet.prototype.replace = function (other) {\n var _this = this;\n if (isObservableSet(other)) {\n other = other.toJS();\n }\n transaction(function () {\n var prev = allowStateChangesStart(true);\n try {\n if (Array.isArray(other)) {\n _this.clear();\n other.forEach(function (value) { return _this.add(value); });\n }\n else if (isES6Set(other)) {\n _this.clear();\n other.forEach(function (value) { return _this.add(value); });\n }\n else if (other !== null && other !== undefined) {\n fail(\"Cannot initialize set from \" + other);\n }\n }\n finally {\n allowStateChangesEnd(prev);\n }\n });\n return this;\n };\n ObservableSet.prototype.observe = function (listener, fireImmediately) {\n // TODO 'fireImmediately' can be true?\n \"production\" !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support fireImmediately=true in combination with sets.\");\n return registerListener(this, listener);\n };\n ObservableSet.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableSet.prototype.toJS = function () {\n return new Set(this);\n };\n ObservableSet.prototype.toString = function () {\n return this.name + \"[ \" + Array.from(this).join(\", \") + \" ]\";\n };\n ObservableSet.prototype[(_a$1 = $mobx, Symbol.iterator)] = function () {\n return this.values();\n };\n return ObservableSet;\n}());\nvar isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet);\n\nvar ObservableObjectAdministration = /** @class */ (function () {\n function ObservableObjectAdministration(target, values, name, defaultEnhancer) {\n if (values === void 0) { values = new Map(); }\n this.target = target;\n this.values = values;\n this.name = name;\n this.defaultEnhancer = defaultEnhancer;\n this.keysAtom = new Atom(name + \".keys\");\n }\n ObservableObjectAdministration.prototype.read = function (key) {\n return this.values.get(key).get();\n };\n ObservableObjectAdministration.prototype.write = function (key, newValue) {\n var instance = this.target;\n var observable = this.values.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"update\",\n object: this.proxy || instance,\n name: key,\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy\n ? {\n type: \"update\",\n object: this.proxy || instance,\n oldValue: observable.value,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n }\n };\n ObservableObjectAdministration.prototype.has = function (key) {\n var map = this.pendingKeys || (this.pendingKeys = new Map());\n var entry = map.get(key);\n if (entry)\n return entry.get();\n else {\n var exists = !!this.values.get(key);\n // Possible optimization: Don't have a separate map for non existing keys,\n // but store them in the values map instead, using a special symbol to denote \"not existing\"\n entry = new ObservableValue(exists, referenceEnhancer, this.name + \".\" + stringifyKey(key) + \"?\", false);\n map.set(key, entry);\n return entry.get(); // read to subscribe\n }\n };\n ObservableObjectAdministration.prototype.addObservableProp = function (propName, newValue, enhancer) {\n if (enhancer === void 0) { enhancer = this.defaultEnhancer; }\n var target = this.target;\n assertPropertyConfigurable(target, propName);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy || target,\n name: propName,\n type: \"add\",\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n var observable = new ObservableValue(newValue, enhancer, this.name + \".\" + stringifyKey(propName), false);\n this.values.set(propName, observable);\n newValue = observable.value; // observableValue might have changed it\n Object.defineProperty(target, propName, generateObservablePropConfig(propName));\n this.notifyPropertyAddition(propName, newValue);\n };\n ObservableObjectAdministration.prototype.addComputedProp = function (propertyOwner, // where is the property declared?\n propName, options) {\n var target = this.target;\n options.name = options.name || this.name + \".\" + stringifyKey(propName);\n this.values.set(propName, new ComputedValue(options));\n if (propertyOwner === target || isPropertyConfigurable(propertyOwner, propName))\n Object.defineProperty(propertyOwner, propName, generateComputedPropConfig(propName));\n };\n ObservableObjectAdministration.prototype.remove = function (key) {\n if (!this.values.has(key))\n return;\n var target = this.target;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy || target,\n name: key,\n type: \"remove\"\n });\n if (!change)\n return;\n }\n try {\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var oldObservable = this.values.get(key);\n var oldValue = oldObservable && oldObservable.get();\n oldObservable && oldObservable.set(undefined);\n // notify key and keyset listeners\n this.keysAtom.reportChanged();\n this.values.delete(key);\n if (this.pendingKeys) {\n var entry = this.pendingKeys.get(key);\n if (entry)\n entry.set(false);\n }\n // delete the prop\n delete this.target[key];\n var change = notify || notifySpy\n ? {\n type: \"remove\",\n object: this.proxy || target,\n oldValue: oldValue,\n name: key\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n }\n finally {\n endBatch();\n }\n };\n ObservableObjectAdministration.prototype.illegalAccess = function (owner, propName) {\n /**\n * This happens if a property is accessed through the prototype chain, but the property was\n * declared directly as own property on the prototype.\n *\n * E.g.:\n * class A {\n * }\n * extendObservable(A.prototype, { x: 1 })\n *\n * classB extens A {\n * }\n * console.log(new B().x)\n *\n * It is unclear whether the property should be considered 'static' or inherited.\n * Either use `console.log(A.x)`\n * or: decorate(A, { x: observable })\n *\n * When using decorate, the property will always be redeclared as own property on the actual instance\n */\n console.warn(\"Property '\" + propName + \"' of '\" + owner + \"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner\");\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n ObservableObjectAdministration.prototype.observe = function (callback, fireImmediately) {\n \"production\" !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support the fire immediately property for observable objects.\");\n return registerListener(this, callback);\n };\n ObservableObjectAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableObjectAdministration.prototype.notifyPropertyAddition = function (key, newValue) {\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this.proxy || this.target,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && \"production\" !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && \"production\" !== \"production\")\n spyReportEnd();\n if (this.pendingKeys) {\n var entry = this.pendingKeys.get(key);\n if (entry)\n entry.set(true);\n }\n this.keysAtom.reportChanged();\n };\n ObservableObjectAdministration.prototype.getKeys = function () {\n var e_1, _a;\n this.keysAtom.reportObserved();\n // return Reflect.ownKeys(this.values) as any\n var res = [];\n try {\n for (var _b = __values(this.values), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n if (value instanceof ObservableValue)\n res.push(key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return res;\n };\n return ObservableObjectAdministration;\n}());\nfunction asObservableObject(target, name, defaultEnhancer) {\n if (name === void 0) { name = \"\"; }\n if (defaultEnhancer === void 0) { defaultEnhancer = deepEnhancer; }\n if (Object.prototype.hasOwnProperty.call(target, $mobx))\n return target[$mobx];\n \"production\" !== \"production\" &&\n invariant(Object.isExtensible(target), \"Cannot make the designated object observable; it is not extensible\");\n if (!isPlainObject(target))\n name = (target.constructor.name || \"ObservableObject\") + \"@\" + getNextId();\n if (!name)\n name = \"ObservableObject@\" + getNextId();\n var adm = new ObservableObjectAdministration(target, new Map(), stringifyKey(name), defaultEnhancer);\n addHiddenProp(target, $mobx, adm);\n return adm;\n}\nvar observablePropertyConfigs = Object.create(null);\nvar computedPropertyConfigs = Object.create(null);\nfunction generateObservablePropConfig(propName) {\n return (observablePropertyConfigs[propName] ||\n (observablePropertyConfigs[propName] = {\n configurable: true,\n enumerable: true,\n get: function () {\n return this[$mobx].read(propName);\n },\n set: function (v) {\n this[$mobx].write(propName, v);\n }\n }));\n}\nfunction getAdministrationForComputedPropOwner(owner) {\n var adm = owner[$mobx];\n if (!adm) {\n // because computed props are declared on proty,\n // the current instance might not have been initialized yet\n initializeInstance(owner);\n return owner[$mobx];\n }\n return adm;\n}\nfunction generateComputedPropConfig(propName) {\n return (computedPropertyConfigs[propName] ||\n (computedPropertyConfigs[propName] = {\n configurable: globalState.computedConfigurable,\n enumerable: false,\n get: function () {\n return getAdministrationForComputedPropOwner(this).read(propName);\n },\n set: function (v) {\n getAdministrationForComputedPropOwner(this).write(propName, v);\n }\n }));\n}\nvar isObservableObjectAdministration = createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n return isObservableObjectAdministration(thing[$mobx]);\n }\n return false;\n}\n\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined)\n fail(\"production\" !== \"production\" &&\n \"It is not possible to get index atoms from arrays\");\n return thing[$mobx].atom;\n }\n if (isObservableSet(thing)) {\n return thing[$mobx];\n }\n if (isObservableMap(thing)) {\n var anyThing = thing;\n if (property === undefined)\n return anyThing._keysAtom;\n var observable = anyThing._data.get(property) || anyThing._hasMap.get(property);\n if (!observable)\n fail(\"production\" !== \"production\" &&\n \"the entry '\" + property + \"' does not exist in the observable map '\" + getDebugName(thing) + \"'\");\n return observable;\n }\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n if (property && !thing[$mobx])\n thing[property]; // See #1072\n if (isObservableObject(thing)) {\n if (!property)\n return fail(\"production\" !== \"production\" && \"please specify a property\");\n var observable = thing[$mobx].values.get(property);\n if (!observable)\n fail(\"production\" !== \"production\" &&\n \"no observable property '\" + property + \"' found on the observable object '\" + getDebugName(thing) + \"'\");\n return observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n }\n else if (typeof thing === \"function\") {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx];\n }\n }\n return fail(\"production\" !== \"production\" && \"Cannot obtain atom from \" + thing);\n}\nfunction getAdministration(thing, property) {\n if (!thing)\n fail(\"Expecting some object\");\n if (property !== undefined)\n return getAdministration(getAtom(thing, property));\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing))\n return thing;\n if (isObservableMap(thing) || isObservableSet(thing))\n return thing;\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n if (thing[$mobx])\n return thing[$mobx];\n fail(\"production\" !== \"production\" && \"Cannot obtain administration from \" + thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined)\n named = getAtom(thing, property);\n else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing))\n named = getAdministration(thing);\n else\n named = getAtom(thing); // valid for arrays as well\n return named.name;\n}\n\nvar toString = Object.prototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) { depth = -1; }\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b)\n return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null)\n return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a)\n return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\")\n return false;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b))\n return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a)\n return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return (typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b));\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++;\n }\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\")\n return false;\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor &&\n !(typeof aCtor === \"function\" &&\n aCtor instanceof aCtor &&\n typeof bCtor === \"function\" &&\n bCtor instanceof bCtor) &&\n (\"constructor\" in a && \"constructor\" in b)) {\n return false;\n }\n }\n if (depth === 0) {\n return false;\n }\n else if (depth < 0) {\n depth = -1;\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a)\n return bStack[length] === b;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length)\n return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack))\n return false;\n }\n }\n else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key = void 0;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length)\n return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(has$1(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack)))\n return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a))\n return a.slice();\n if (isES6Map(a) || isObservableMap(a))\n return Array.from(a.entries());\n if (isES6Set(a) || isObservableSet(a))\n return Array.from(a.entries());\n return a;\n}\nfunction has$1(a, key) {\n return Object.prototype.hasOwnProperty.call(a, key);\n}\n\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return iterator;\n}\nfunction getSelf() {\n return this;\n}\n\n/**\n * (c) Michel Weststrate 2015 - 2018\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get an global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\nif (typeof Proxy === \"undefined\" || typeof Symbol === \"undefined\") {\n throw new Error(\"[mobx] MobX 5+ requires Proxy and Symbol objects. If your environment doesn't support Symbol or Proxy objects, please downgrade to MobX 4. For React Native Android, consider upgrading JSCore.\");\n}\ntry {\n // define process.env if needed\n // if this is not a production build in the first place\n // (in which case the expression below would be substituted with 'production')\n \"production\";\n}\ncatch (e) {\n var g = getGlobal();\n if (typeof process === \"undefined\")\n g.process = {};\n g.process.env = {};\n}\n(function () {\n function testCodeMinification() { }\n if (testCodeMinification.name !== \"testCodeMinification\" &&\n \"production\" !== \"production\" &&\n typeof process !== 'undefined' && Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\".\"}).IGNORE_MOBX_MINIFY_WARNING !== \"true\") {\n // trick so it doesn't get replaced\n var varName = [\"process\", \"env\", \"NODE_ENV\"].join(\".\");\n console.warn(\"[mobx] you are running a minified build, but '\" + varName + \"' was not set to 'production' in your bundler. This results in an unnecessarily large and slow bundle\");\n }\n})();\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n });\n}\n\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(66), __webpack_require__(13)))\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Footer; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mobx_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mobx_store__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__index_less__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(28);\nmodule.exports = __webpack_require__(33);\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n __webpack_require__(29).enable();\n window.Promise = __webpack_require__(31);\n}\n\n// fetch() polyfill for making API calls.\n__webpack_require__(32);\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = __webpack_require__(7);\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (false) {\n require('raf').polyfill(global);\n}\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Promise = __webpack_require__(12);\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = __webpack_require__(12);\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__App__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_css__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__App_animations_less__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__App_animations_less___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__App_animations_less__);\n__WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__App__[\"a\" /* default */],null),document.getElementById('root'));\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar l=__webpack_require__(7),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"a\" /* createBrowserHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\");\n };\n\n BrowserRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nBrowserRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n forceRefresh: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n keyLength: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (BrowserRouter);\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(41);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = _extends;\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (resolvePathname);\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (valueEqual);\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar isProduction = \"production\" === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (warning);\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return invariant; });\nvar isProduction = \"production\" === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\n\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(9);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = function (_React$Component) {\n _inherits(HashRouter, _React$Component);\n\n function HashRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"b\" /* createHashHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\");\n };\n\n HashRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return HashRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nHashRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n hashType: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.oneOf([\"hashbang\", \"noslash\", \"slash\"]),\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (HashRouter);\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__ = __webpack_require__(49);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(10);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter = function (_React$Component) {\n _inherits(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MemoryRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"d\" /* createMemoryHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MemoryRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\");\n };\n\n MemoryRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return MemoryRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nMemoryRouter.propTypes = {\n initialEntries: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.array,\n initialIndex: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n keyLength: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MemoryRouter);\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Route__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Link__ = __webpack_require__(15);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref[\"aria-current\"],\n rest = _objectWithoutProperties(_ref, [\"to\", \"exact\", \"strict\", \"location\", \"activeClassName\", \"className\", \"activeStyle\", \"style\", \"isActive\", \"aria-current\"]);\n\n var path = (typeof to === \"undefined\" ? \"undefined\" : _typeof(to)) === \"object\" ? to.pathname : to;\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Route__[\"a\" /* default */], {\n path: escapedPath,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */], _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(\" \") : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n \"aria-current\": isActive && ariaCurrent || null\n }, rest));\n }\n });\n};\n\nNavLink.propTypes = {\n to: __WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */].propTypes.to,\n exact: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n strict: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n activeClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n activeStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n isActive: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n \"aria-current\": __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"])\n};\n\nNavLink.defaultProps = {\n activeClassName: \"active\",\n \"aria-current\": \"page\"\n};\n\n/* unused harmony default export */ var _unused_webpack_default_export = (NavLink);\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nmodule.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__ = __webpack_require__(53);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__[\"a\" /* default */]);\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n/**\n * The public API for prompting the user before navigating away\n * from a screen with a component.\n */\n\nvar Prompt = function (_React$Component) {\n _inherits(Prompt, _React$Component);\n\n function Prompt() {\n _classCallCheck(this, Prompt);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Prompt.prototype.enable = function enable(message) {\n if (this.unblock) this.unblock();\n\n this.unblock = this.context.router.history.block(message);\n };\n\n Prompt.prototype.disable = function disable() {\n if (this.unblock) {\n this.unblock();\n this.unblock = null;\n }\n };\n\n Prompt.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_2_invariant___default()(this.context.router, \"You should not use outside a \");\n\n if (this.props.when) this.enable(this.props.message);\n };\n\n Prompt.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.when) {\n if (!this.props.when || this.props.message !== nextProps.message) this.enable(nextProps.message);\n } else {\n this.disable();\n }\n };\n\n Prompt.prototype.componentWillUnmount = function componentWillUnmount() {\n this.disable();\n };\n\n Prompt.prototype.render = function render() {\n return null;\n };\n\n return Prompt;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nPrompt.propTypes = {\n when: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n message: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string]).isRequired\n};\nPrompt.defaultProps = {\n when: true\n};\nPrompt.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n block: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Prompt);\n\n/***/ }),\n/* 54 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__ = __webpack_require__(55);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__[\"a\" /* default */]);\n\n/***/ }),\n/* 55 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_history__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__generatePath__ = __webpack_require__(19);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\n/**\n * The public API for updating the location programmatically\n * with a component.\n */\n\nvar Redirect = function (_React$Component) {\n _inherits(Redirect, _React$Component);\n\n function Redirect() {\n _classCallCheck(this, Redirect);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Redirect.prototype.isStatic = function isStatic() {\n return this.context.router && this.context.router.staticContext;\n };\n\n Redirect.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_3_invariant___default()(this.context.router, \"You should not use outside a \");\n\n if (this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidMount = function componentDidMount() {\n if (!this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var prevTo = Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"c\" /* createLocation */])(prevProps.to);\n var nextTo = Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"c\" /* createLocation */])(this.props.to);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"f\" /* locationsAreEqual */])(prevTo, nextTo)) {\n __WEBPACK_IMPORTED_MODULE_2_warning___default()(false, \"You tried to redirect to the same route you're currently on: \" + (\"\\\"\" + nextTo.pathname + nextTo.search + \"\\\"\"));\n return;\n }\n\n this.perform();\n };\n\n Redirect.prototype.computeTo = function computeTo(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to;\n\n if (computedMatch) {\n if (typeof to === \"string\") {\n return Object(__WEBPACK_IMPORTED_MODULE_5__generatePath__[\"a\" /* default */])(to, computedMatch.params);\n } else {\n return _extends({}, to, {\n pathname: Object(__WEBPACK_IMPORTED_MODULE_5__generatePath__[\"a\" /* default */])(to.pathname, computedMatch.params)\n });\n }\n }\n\n return to;\n };\n\n Redirect.prototype.perform = function perform() {\n var history = this.context.router.history;\n var push = this.props.push;\n\n var to = this.computeTo(this.props);\n\n if (push) {\n history.push(to);\n } else {\n history.replace(to);\n }\n };\n\n Redirect.prototype.render = function render() {\n return null;\n };\n\n return Redirect;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nRedirect.propTypes = {\n computedMatch: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object, // private, from \n push: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n from: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n to: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object]).isRequired\n};\nRedirect.defaultProps = {\n push: false\n};\nRedirect.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n push: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,\n replace: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired\n }).isRequired,\n staticContext: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object\n }).isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Redirect);\n\n/***/ }),\n/* 56 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__ = __webpack_require__(57);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 57 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_history__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Router__ = __webpack_require__(10);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\nvar addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n};\n\nvar addBasename = function addBasename(basename, location) {\n if (!basename) return location;\n\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n};\n\nvar stripBasename = function stripBasename(basename, location) {\n if (!basename) return location;\n\n var base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n};\n\nvar createURL = function createURL(location) {\n return typeof location === \"string\" ? location : Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"e\" /* createPath */])(location);\n};\n\nvar staticHandler = function staticHandler(methodName) {\n return function () {\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(false, \"You cannot %s with \", methodName);\n };\n};\n\nvar noop = function noop() {};\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\nvar StaticRouter = function (_React$Component) {\n _inherits(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StaticRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.createHref = function (path) {\n return addLeadingSlash(_this.props.basename + createURL(path));\n }, _this.handlePush = function (location) {\n var _this$props = _this.props,\n basename = _this$props.basename,\n context = _this$props.context;\n\n context.action = \"PUSH\";\n context.location = addBasename(basename, Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"c\" /* createLocation */])(location));\n context.url = createURL(context.location);\n }, _this.handleReplace = function (location) {\n var _this$props2 = _this.props,\n basename = _this$props2.basename,\n context = _this$props2.context;\n\n context.action = \"REPLACE\";\n context.location = addBasename(basename, Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"c\" /* createLocation */])(location));\n context.url = createURL(context.location);\n }, _this.handleListen = function () {\n return noop;\n }, _this.handleBlock = function () {\n return noop;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StaticRouter.prototype.getChildContext = function getChildContext() {\n return {\n router: {\n staticContext: this.props.context\n }\n };\n };\n\n StaticRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\");\n };\n\n StaticRouter.prototype.render = function render() {\n var _props = this.props,\n basename = _props.basename,\n context = _props.context,\n location = _props.location,\n props = _objectWithoutProperties(_props, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: this.createHref,\n action: \"POP\",\n location: stripBasename(basename, Object(__WEBPACK_IMPORTED_MODULE_4_history__[\"c\" /* createLocation */])(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__Router__[\"a\" /* default */], _extends({}, props, { history: history }));\n };\n\n return StaticRouter;\n}(__WEBPACK_IMPORTED_MODULE_2_react___default.a.Component);\n\nStaticRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.string,\n context: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired,\n location: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object])\n};\nStaticRouter.defaultProps = {\n basename: \"\",\n location: \"/\"\n};\nStaticRouter.childContextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object.isRequired\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (StaticRouter);\n\n/***/ }),\n/* 58 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__ = __webpack_require__(59);\n// Written in this round about way for babel-transform-imports\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__[\"a\" /* default */]);\n\n/***/ }),\n/* 59 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_invariant__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__matchPath__ = __webpack_require__(11);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = function (_React$Component) {\n _inherits(Switch, _React$Component);\n\n function Switch() {\n _classCallCheck(this, Switch);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Switch.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_3_invariant___default()(this.context.router, \"You should not use outside a \");\n };\n\n Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n __WEBPACK_IMPORTED_MODULE_2_warning___default()(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n __WEBPACK_IMPORTED_MODULE_2_warning___default()(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n };\n\n Switch.prototype.render = function render() {\n var route = this.context.router.route;\n var children = this.props.children;\n\n var location = this.props.location || route.location;\n\n var match = void 0,\n child = void 0;\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (element) {\n if (match == null && __WEBPACK_IMPORTED_MODULE_0_react___default.a.isValidElement(element)) {\n var _element$props = element.props,\n pathProp = _element$props.path,\n exact = _element$props.exact,\n strict = _element$props.strict,\n sensitive = _element$props.sensitive,\n from = _element$props.from;\n\n var path = pathProp || from;\n\n child = element;\n match = Object(__WEBPACK_IMPORTED_MODULE_4__matchPath__[\"a\" /* default */])(location.pathname, { path: path, exact: exact, strict: strict, sensitive: sensitive }, route.match);\n }\n });\n\n return match ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.cloneElement(child, { location: location, computedMatch: match }) : null;\n };\n\n return Switch;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nSwitch.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n route: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n }).isRequired\n};\nSwitch.propTypes = {\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,\n location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Switch);\n\n/***/ }),\n/* 60 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__ = __webpack_require__(19);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__[\"a\" /* default */]);\n\n/***/ }),\n/* 61 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__ = __webpack_require__(11);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__[\"a\" /* default */]);\n\n/***/ }),\n/* 62 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__ = __webpack_require__(63);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 63 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_hoist_non_react_statics__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_hoist_non_react_statics__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Route__ = __webpack_require__(17);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n/**\n * A public higher-order component to access the imperative API\n */\nvar withRouter = function withRouter(Component) {\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutProperties(props, [\"wrappedComponentRef\"]);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Route__[\"a\" /* default */], {\n children: function children(routeComponentProps) {\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component, _extends({}, remainingProps, routeComponentProps, {\n ref: wrappedComponentRef\n }));\n }\n });\n };\n\n C.displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n C.WrappedComponent = Component;\n C.propTypes = {\n wrappedComponentRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func\n };\n\n return __WEBPACK_IMPORTED_MODULE_2_hoist_non_react_statics___default()(C, Component);\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (withRouter);\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Header; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_mobx_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__index_less__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mobx_store__ = __webpack_require__(3);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar cn={language:'cn',download:'立即下载',header:{home:'首页',download:'下载',redrock:'红岩网校',aboutus:'关于我们'},sidebar:{home:'首页',function:'基本功能',community:'社区版聊',schoolbus:'校车轨迹',query:'一体化查询'},index:{title:'掌上重邮',subTitle:'Handheld CQUPT',description:'重邮首款完美整合校园信息与生活的APP'},function:{kebiao:{title:'课表查询',description:'课程信息一目了然'},kongjiaoshi:{title:'空教室查询',description:'再也不缺自习好去处'},meikeyue:{title:'没课约',description:'课下安排轻松搞定'}},community:{title:'社区版聊',description:'各类问题轻松解决,在这里发现你的新圈子',question:{q1:{name:'黄**',text:'可以蹭课吗??怎么知道时间地点?'},q2:{name:'李**',text:'可以的。时间的话到掌上重邮查',time:'两分钟前'},q3:{name:'杨**',text:'上掌上重邮,课表查询',time:'十分钟前'},q4:{name:'陈**',text:'可以,问别人时间地点,找同学学姐',time:'十五分钟前'}}},schoolbus:{title:'校车轨迹',description:'即刻查询校车位置,减少不必要的等待时间'},query:{title:'一体化查询',description:'志愿时长,考试信息,学生名单,宿舍电费一键查询'},footer:{line1:'本网站由红岩网校工作站负责开发,管理,不经红岩网校委员会书面同意,不得进行转载',line2:'地址:重庆市南岸区崇文路2号(重庆邮电大学内) 400065 E-mail: redrock@cqupt.edu.cn (023-62461084)'},androidVersionTitle:'Android版本',iphoneVersionTitle:'iPhone版本',scan:'请用手机扫描二维码下载',version:'版本'};var en={language:'en',download:'DOWNLOAD',header:{home:'Home',download:'Downloads',redrock:'Redrock',aboutus:'About us'},sidebar:{home:'Home',function:'Basic functions',community:'Community chat',schoolbus:'School bus positioning',query:'Integrated query'},index:{title:'Handheld CQUPT',subTitle:'',description:'CQUPT\\'s first APP that perfectly integrates campus information and life'},function:{kebiao:{title:'Class schedule inquiry',description:'Course information at a glance'},kongjiaoshi:{title:'Empty classroom inquiry',description:'There will be no shortage of places to learn.'},meikeyue:{title:'Have time to play together',description:'The easier arrangement after class'}},community:{title:'Community chat',description:'Easy to solve all kinds of problems, find your new circle here',question:{q1:{name:'Linda',text:'How to check the class schedule?'},q2:{name:'Joan',text:'Use Handheld CQUPT to query.',time:'2 minutes ago'},q3:{name:'Kris',text:'Handheld CQUPT has this feature.',time:'10 minutes ago'},q4:{name:'Lee',text:'Go ask your classmates.',time:'15 minutes ago'}}},schoolbus:{title:'School bus positioning',description:'The location of school buses is immediately queried to reduce unnecessary waiting times'},query:{title:'Integrated query',description:'Volunteer time, exam information, student list, dormitory electricity fee, one-click inquiry'},footer:{line1:'Copyright \\xA9 '+new Date().getFullYear()+' Redrock',line2:'Address: 2 Chongwen Rd, HuangJueYa, Nanan Qu, Chongqing Shi, China, 400065 E-mail: redrock@cqupt.edu.cn (023-62461084)'},androidVersionTitle:'For Android',iphoneVersionTitle:'For iPhone',scan:'Scan the QR code to download',version:'Version'};/* harmony default export */ __webpack_exports__[\"a\"] = ({cn:cn,en:Object.assign({},cn,en)});\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Home; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mobx_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mobx_store__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index_less___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__index_less__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_pages_Index__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_pages_Function__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_pages_Community__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_pages_Query__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_pages_Schoolbus__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_Sidebar__ = __webpack_require__(82);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;iindex){return'prePage';}else if(_this.state.currentIndex30&&!_this2.state.isScrolling){if(_this2.state.currentIndex===1)return;_this2.setState(function(prevState){return{currentIndex:prevState.currentIndex-1,isScrolling:true};});setTimeout(function(){_this2.setState({isScrolling:false});},1000);}};}}]);return Home;}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component))||_class)||_class);\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 71 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Index; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_mobx_react__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mobx_store__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_router_dom__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__index_less__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__index_less___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__index_less__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = __webpack_require__(0);\n\nvar PropTypes = __webpack_require__(1); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = __webpack_require__(86);\n\nvar ErrorCorrectLevel = __webpack_require__(23); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n var out = '';\n\n for (var i = 0; i < str.length; i++) {\n var charcode = str.charCodeAt(i);\n\n if (charcode < 0x0080) {\n out += String.fromCharCode(charcode);\n } else if (charcode < 0x0800) {\n out += String.fromCharCode(0xc0 | charcode >> 6);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n out += String.fromCharCode(0xe0 | charcode >> 12);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else {\n // This is a surrogate pair, so we'll reconsitute the pieces and work\n // from that\n i++;\n charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n out += String.fromCharCode(0xf0 | charcode >> 18);\n out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n }\n }\n\n return out;\n}\n\nvar DEFAULT_PROPS = {\n size: 128,\n level: 'L',\n bgColor: '#FFFFFF',\n fgColor: '#000000',\n includeMargin: false\n};\nvar PROP_TYPES = false ? {\n value: PropTypes.string.isRequired,\n size: PropTypes.number,\n level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n bgColor: PropTypes.string,\n fgColor: PropTypes.string,\n includeMargin: PropTypes.bool,\n imageSettings: PropTypes.shape({\n src: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n excavate: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number\n })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n\n return false;\n });\n });\n}\n\nfunction getImageSettings(props, cells) {\n var imageSettings = props.imageSettings,\n size = props.size,\n includeMargin = props.includeMargin;\n\n if (imageSettings == null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n var scale = numCells / size;\n var w = (imageSettings.width || defaultSize) * scale;\n var h = (imageSettings.height || defaultSize) * scale;\n var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n var excavation = null;\n\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = {\n x: floorX,\n y: floorY,\n w: ceilW,\n h: ceilH\n };\n }\n\n return {\n x: x,\n y: y,\n h: h,\n w: w,\n excavation: excavation\n };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n\n return true;\n}();\n\nvar QRCodeCanvas = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(QRCodeCanvas, _React$PureComponent);\n\n var _super = _createSuper(QRCodeCanvas);\n\n function QRCodeCanvas() {\n var _this;\n\n _classCallCheck(this, QRCodeCanvas);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n imgLoaded: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n _this.setState({\n imgLoaded: true\n });\n });\n\n return _this;\n }\n\n _createClass(QRCodeCanvas, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this._image && this._image.complete) {\n this.handleImageLoad();\n }\n\n this.update();\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this$props$imageSett, _nextProps$imageSetti;\n\n var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n if (currentSrc !== nextSrc) {\n this.setState({\n imgLoaded: false\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var _this$props = this.props,\n value = _this$props.value,\n size = _this$props.size,\n level = _this$props.level,\n bgColor = _this$props.bgColor,\n fgColor = _this$props.fgColor,\n includeMargin = _this$props.includeMargin,\n imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n\n if (this._canvas != null) {\n var canvas = this._canvas;\n var ctx = canvas.getContext('2d');\n\n if (!ctx) {\n return;\n }\n\n var cells = qrcode.modules;\n\n if (cells === null) {\n return;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n } // We're going to scale this so that the number of drawable units\n // matches the number of cells. This avoids rounding issues, but does\n // result in some potentially unwanted single pixel issues between\n // blocks, only in environments that don't support Path2D.\n\n\n var pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n var scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n\n if (SUPPORTS_PATH2D) {\n // $FlowFixMe: Path2D c'tor doesn't support args yet.\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n\n if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n value = _this$props2.value,\n size = _this$props2.size,\n level = _this$props2.level,\n bgColor = _this$props2.bgColor,\n fgColor = _this$props2.fgColor,\n style = _this$props2.style,\n includeMargin = _this$props2.includeMargin,\n imageSettings = _this$props2.imageSettings,\n otherProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var canvasStyle = _objectSpread({\n height: size,\n width: size\n }, style);\n\n var img = null;\n var imgSrc = imageSettings && imageSettings.src;\n\n if (imageSettings != null && imgSrc != null) {\n img = /*#__PURE__*/React.createElement(\"img\", {\n src: imgSrc,\n style: {\n display: 'none'\n },\n onLoad: this.handleImageLoad,\n ref: function ref(_ref) {\n return _this2._image = _ref;\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"canvas\", _extends({\n style: canvasStyle,\n height: size,\n width: size,\n ref: function ref(_ref2) {\n return _this2._canvas = _ref2;\n }\n }, otherProps)), img);\n }\n }]);\n\n return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (false) {\n QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(QRCodeSVG, _React$PureComponent2);\n\n var _super2 = _createSuper(QRCodeSVG);\n\n function QRCodeSVG() {\n _classCallCheck(this, QRCodeSVG);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(QRCodeSVG, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n size = _this$props3.size,\n level = _this$props3.level,\n bgColor = _this$props3.bgColor,\n fgColor = _this$props3.fgColor,\n includeMargin = _this$props3.includeMargin,\n imageSettings = _this$props3.imageSettings,\n otherProps = _objectWithoutProperties(_this$props3, _excluded2); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n var cells = qrcode.modules;\n\n if (cells === null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n var image = null;\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n\n image = /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n } // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n\n var fgPath = generatePath(cells, margin);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n shapeRendering: \"crispEdges\",\n height: size,\n width: size,\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n }, otherProps), /*#__PURE__*/React.createElement(\"path\", {\n fill: bgColor,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath\n }), image);\n }\n }]);\n\n return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (false) {\n QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n var renderAs = props.renderAs,\n otherProps = _objectWithoutProperties(props, _excluded3);\n\n var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n return /*#__PURE__*/React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar BitByte = __webpack_require__(87);\nvar RSBlock = __webpack_require__(88);\nvar BitBuffer = __webpack_require__(89);\nvar util = __webpack_require__(90);\nvar Polynomial = __webpack_require__(24);\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar mode = __webpack_require__(22);\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// ErrorCorrectLevel\nvar ECL = __webpack_require__(23);\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nfunction QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Mode = __webpack_require__(22);\nvar Polynomial = __webpack_require__(24);\nvar math = __webpack_require__(25);\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// static/js/main.5880b130.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 27);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 733239c4d0c64ef88107","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/index.js\n// module id = 0\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/index.js\n// module id = 1\n// module chunks = 0","/** @license mobx-react v5.4.4\n * index.module.js\n *\n * Copyright (c) 2015 Michel Weststrate.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { isObservableArray, isObservableObject, isObservableMap, untracked, createAtom, Reaction, _allowStateChanges, $mobx, spy, configure, getDebugName } from 'mobx';\nimport React__default, { Component, createElement, PureComponent, forwardRef, Children } from 'react';\nimport { findDOMNode, unstable_batchedUpdates } from 'react-dom';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\n// These functions can be stubbed out in specific environments\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x.default : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar reactIs_production_min = createCommonjsModule(function (module, exports) {\nObject.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,r=b?Symbol.for(\"react.memo\"):\n60115,t=b?Symbol.for(\"react.lazy\"):60116;function u(a){if(\"object\"===typeof a&&null!==a){var q=a.$$typeof;switch(q){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return q}}case d:return q}}}function v(a){return u(a)===m}exports.typeOf=u;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;\nexports.Profiler=g;exports.Portal=d;exports.StrictMode=f;exports.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||u(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return u(a)===k};exports.isContextProvider=function(a){return u(a)===h};\nexports.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return u(a)===n};exports.isFragment=function(a){return u(a)===e};exports.isProfiler=function(a){return u(a)===g};exports.isPortal=function(a){return u(a)===d};exports.isStrictMode=function(a){return u(a)===f};\n});\n\nunwrapExports(reactIs_production_min);\nvar reactIs_production_min_1 = reactIs_production_min.typeOf;\nvar reactIs_production_min_2 = reactIs_production_min.AsyncMode;\nvar reactIs_production_min_3 = reactIs_production_min.ConcurrentMode;\nvar reactIs_production_min_4 = reactIs_production_min.ContextConsumer;\nvar reactIs_production_min_5 = reactIs_production_min.ContextProvider;\nvar reactIs_production_min_6 = reactIs_production_min.Element;\nvar reactIs_production_min_7 = reactIs_production_min.ForwardRef;\nvar reactIs_production_min_8 = reactIs_production_min.Fragment;\nvar reactIs_production_min_9 = reactIs_production_min.Profiler;\nvar reactIs_production_min_10 = reactIs_production_min.Portal;\nvar reactIs_production_min_11 = reactIs_production_min.StrictMode;\nvar reactIs_production_min_12 = reactIs_production_min.isValidElementType;\nvar reactIs_production_min_13 = reactIs_production_min.isAsyncMode;\nvar reactIs_production_min_14 = reactIs_production_min.isConcurrentMode;\nvar reactIs_production_min_15 = reactIs_production_min.isContextConsumer;\nvar reactIs_production_min_16 = reactIs_production_min.isContextProvider;\nvar reactIs_production_min_17 = reactIs_production_min.isElement;\nvar reactIs_production_min_18 = reactIs_production_min.isForwardRef;\nvar reactIs_production_min_19 = reactIs_production_min.isFragment;\nvar reactIs_production_min_20 = reactIs_production_min.isProfiler;\nvar reactIs_production_min_21 = reactIs_production_min.isPortal;\nvar reactIs_production_min_22 = reactIs_production_min.isStrictMode;\n\nvar reactIs = createCommonjsModule(function (module) {\n\n{\n module.exports = reactIs_production_min;\n}\n});\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = TYPE_STATICS[targetComponent['$$typeof']] || REACT_STATICS;\n var sourceStatics = TYPE_STATICS[sourceComponent['$$typeof']] || REACT_STATICS;\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nvar hoistNonReactStatics_cjs = hoistNonReactStatics;\n\nvar EventEmitter =\n/*#__PURE__*/\nfunction () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.listeners = [];\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(cb) {\n var _this = this;\n\n this.listeners.push(cb);\n return function () {\n var index = _this.listeners.indexOf(cb);\n\n if (index !== -1) _this.listeners.splice(index, 1);\n };\n }\n }, {\n key: \"emit\",\n value: function emit(data) {\n this.listeners.forEach(function (fn) {\n return fn(data);\n });\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n for (var _len = arguments.length, rest = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n rest[_key - 6] = arguments[_key];\n }\n\n return untracked(function () {\n componentName = componentName || \"<>\";\n propFullName = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n var actual = props[propName] === null ? \"null\" : \"undefined\";\n return new Error(\"The \" + location + \" `\" + propFullName + \"` is marked as required \" + \"in `\" + componentName + \"`, but its value is `\" + actual + \"`.\");\n }\n\n return null;\n } else {\n return validate.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest));\n }\n });\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n} // Copied from React.PropTypes\n\n\nfunction isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === \"symbol\") {\n return true;\n } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\n\n if (propValue[\"@@toStringTag\"] === \"Symbol\") {\n return true;\n } // Fallback for non-spec compliant Symbols which are polyfilled.\n\n\n if (typeof Symbol === \"function\" && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n} // Copied from React.PropTypes\n\n\nfunction getPropType(propValue) {\n var propType = _typeof(propValue);\n\n if (Array.isArray(propValue)) {\n return \"array\";\n }\n\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return \"object\";\n }\n\n if (isSymbol(propType, propValue)) {\n return \"symbol\";\n }\n\n return propType;\n} // This handles more types than `getPropType`. Only used for error messages.\n// Copied from React.PropTypes\n\n\nfunction getPreciseType(propValue) {\n var propType = getPropType(propValue);\n\n if (propType === \"object\") {\n if (propValue instanceof Date) {\n return \"date\";\n } else if (propValue instanceof RegExp) {\n return \"regexp\";\n }\n }\n\n return propType;\n}\n\nfunction createObservableTypeCheckerCreator(allowNativeType, mobxType) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n return untracked(function () {\n if (allowNativeType) {\n if (getPropType(props[propName]) === mobxType.toLowerCase()) return null;\n }\n\n var mobxChecker;\n\n switch (mobxType) {\n case \"Array\":\n mobxChecker = isObservableArray;\n break;\n\n case \"Object\":\n mobxChecker = isObservableObject;\n break;\n\n case \"Map\":\n mobxChecker = isObservableMap;\n break;\n\n default:\n throw new Error(\"Unexpected mobxType: \".concat(mobxType));\n }\n\n var propValue = props[propName];\n\n if (!mobxChecker(propValue)) {\n var preciseType = getPreciseType(propValue);\n var nativeTypeExpectationMessage = allowNativeType ? \" or javascript `\" + mobxType.toLowerCase() + \"`\" : \"\";\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + preciseType + \"` supplied to\" + \" `\" + componentName + \"`, expected `mobx.Observable\" + mobxType + \"`\" + nativeTypeExpectationMessage + \".\");\n }\n\n return null;\n });\n });\n}\n\nfunction createObservableArrayOfTypeChecker(allowNativeType, typeChecker) {\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 5 ? _len2 - 5 : 0), _key2 = 5; _key2 < _len2; _key2++) {\n rest[_key2 - 5] = arguments[_key2];\n }\n\n return untracked(function () {\n if (typeof typeChecker !== \"function\") {\n return new Error(\"Property `\" + propFullName + \"` of component `\" + componentName + \"` has \" + \"invalid PropType notation.\");\n }\n\n var error = createObservableTypeCheckerCreator(allowNativeType, \"Array\")(props, propName, componentName);\n if (error instanceof Error) return error;\n var propValue = props[propName];\n\n for (var i = 0; i < propValue.length; i++) {\n error = typeChecker.apply(void 0, [propValue, i, componentName, location, propFullName + \"[\" + i + \"]\"].concat(rest));\n if (error instanceof Error) return error;\n }\n\n return null;\n });\n });\n}\n\nvar observableArray = createObservableTypeCheckerCreator(false, \"Array\");\nvar observableArrayOf = createObservableArrayOfTypeChecker.bind(null, false);\nvar observableMap = createObservableTypeCheckerCreator(false, \"Map\");\nvar observableObject = createObservableTypeCheckerCreator(false, \"Object\");\nvar arrayOrObservableArray = createObservableTypeCheckerCreator(true, \"Array\");\nvar arrayOrObservableArrayOf = createObservableArrayOfTypeChecker.bind(null, true);\nvar objectOrObservableObject = createObservableTypeCheckerCreator(true, \"Object\");\n\nvar propTypes = /*#__PURE__*/Object.freeze({\n observableArray: observableArray,\n observableArrayOf: observableArrayOf,\n observableMap: observableMap,\n observableObject: observableObject,\n arrayOrObservableArray: arrayOrObservableArray,\n arrayOrObservableArrayOf: arrayOrObservableArrayOf,\n objectOrObservableObject: objectOrObservableObject\n});\n\nfunction isStateless(component) {\n // `function() {}` has prototype, but `() => {}` doesn't\n // `() => {}` via Babel has prototype too.\n return !(component.prototype && component.prototype.render);\n}\nvar symbolId = 0;\n\nfunction createSymbol(name) {\n if (typeof Symbol === \"function\") {\n return Symbol(name);\n }\n\n var symbol = \"__$mobx-react \".concat(name, \" (\").concat(symbolId, \")\");\n symbolId++;\n return symbol;\n}\n\nvar createdSymbols = {};\nfunction newSymbol(name) {\n if (!createdSymbols[name]) {\n createdSymbols[name] = createSymbol(name);\n }\n\n return createdSymbols[name];\n}\nvar mobxMixins = newSymbol(\"patchMixins\");\nvar mobxPatchedDefinition = newSymbol(\"patchedDefinition\");\n\nfunction getMixins(target, methodName) {\n var mixins = target[mobxMixins] = target[mobxMixins] || {};\n var methodMixins = mixins[methodName] = mixins[methodName] || {};\n methodMixins.locks = methodMixins.locks || 0;\n methodMixins.methods = methodMixins.methods || [];\n return methodMixins;\n}\n\nfunction wrapper(realMethod, mixins) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n // locks are used to ensure that mixins are invoked only once per invocation, even on recursive calls\n mixins.locks++;\n\n try {\n var retVal;\n\n if (realMethod !== undefined && realMethod !== null) {\n retVal = realMethod.apply(this, args);\n }\n\n return retVal;\n } finally {\n mixins.locks--;\n\n if (mixins.locks === 0) {\n mixins.methods.forEach(function (mx) {\n mx.apply(_this, args);\n });\n }\n }\n}\n\nfunction wrapFunction(realMethod, mixins) {\n var fn = function fn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n wrapper.call.apply(wrapper, [this, realMethod, mixins].concat(args));\n };\n\n return fn;\n}\n\nfunction patch(target, methodName) {\n var mixins = getMixins(target, methodName);\n\n for (var _len3 = arguments.length, mixinMethods = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n mixinMethods[_key3 - 2] = arguments[_key3];\n }\n\n for (var _i = 0; _i < mixinMethods.length; _i++) {\n var mixinMethod = mixinMethods[_i];\n\n if (mixins.methods.indexOf(mixinMethod) < 0) {\n mixins.methods.push(mixinMethod);\n }\n }\n\n var oldDefinition = Object.getOwnPropertyDescriptor(target, methodName);\n\n if (oldDefinition && oldDefinition[mobxPatchedDefinition]) {\n // already patched definition, do not repatch\n return;\n }\n\n var originalMethod = target[methodName];\n var newDefinition = createDefinition(target, methodName, oldDefinition ? oldDefinition.enumerable : undefined, mixins, originalMethod);\n Object.defineProperty(target, methodName, newDefinition);\n}\n\nfunction createDefinition(target, methodName, enumerable, mixins, originalMethod) {\n var _ref;\n\n var wrappedFunc = wrapFunction(originalMethod, mixins);\n return _ref = {}, _defineProperty(_ref, mobxPatchedDefinition, true), _defineProperty(_ref, \"get\", function get() {\n return wrappedFunc;\n }), _defineProperty(_ref, \"set\", function set(value) {\n if (this === target) {\n wrappedFunc = wrapFunction(value, mixins);\n } else {\n // when it is an instance of the prototype/a child prototype patch that particular case again separately\n // since we need to store separate values depending on wether it is the actual instance, the prototype, etc\n // e.g. the method for super might not be the same as the method for the prototype which might be not the same\n // as the method for the instance\n var newDefinition = createDefinition(this, methodName, enumerable, mixins, value);\n Object.defineProperty(this, methodName, newDefinition);\n }\n }), _defineProperty(_ref, \"configurable\", true), _defineProperty(_ref, \"enumerable\", enumerable), _ref;\n}\n\nvar injectorContextTypes = {\n mobxStores: objectOrObservableObject\n};\nObject.seal(injectorContextTypes);\nvar proxiedInjectorProps = {\n contextTypes: {\n get: function get() {\n return injectorContextTypes;\n },\n set: function set(_) {\n console.warn(\"Mobx Injector: you are trying to attach `contextTypes` on an component decorated with `inject` (or `observer`) HOC. Please specify the contextTypes on the wrapped component instead. It is accessible through the `wrappedComponent`\");\n },\n configurable: true,\n enumerable: false\n },\n isMobxInjector: {\n value: true,\n writable: true,\n configurable: true,\n enumerable: true\n }\n /**\n * Store Injection\n */\n\n};\n\nfunction createStoreInjector(grabStoresFn, component, injectNames) {\n var displayName = \"inject-\" + (component.displayName || component.name || component.constructor && component.constructor.name || \"Unknown\");\n if (injectNames) displayName += \"-with-\" + injectNames;\n\n var Injector =\n /*#__PURE__*/\n function (_Component) {\n _inherits(Injector, _Component);\n\n function Injector() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Injector);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Injector)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.storeRef = function (instance) {\n _this.wrappedInstance = instance;\n };\n\n return _this;\n }\n\n _createClass(Injector, [{\n key: \"render\",\n value: function render() {\n // Optimization: it might be more efficient to apply the mapper function *outside* the render method\n // (if the mapper is a function), that could avoid expensive(?) re-rendering of the injector component\n // See this test: 'using a custom injector is not too reactive' in inject.js\n var newProps = {};\n\n for (var key in this.props) {\n if (this.props.hasOwnProperty(key)) {\n newProps[key] = this.props[key];\n }\n }\n\n var additionalProps = grabStoresFn(this.context.mobxStores || {}, newProps, this.context) || {};\n\n for (var _key2 in additionalProps) {\n newProps[_key2] = additionalProps[_key2];\n }\n\n if (!isStateless(component)) {\n newProps.ref = this.storeRef;\n }\n\n return createElement(component, newProps);\n }\n }]);\n\n return Injector;\n }(Component); // Static fields from component should be visible on the generated Injector\n\n\n Injector.displayName = displayName;\n hoistNonReactStatics_cjs(Injector, component);\n Injector.wrappedComponent = component;\n Object.defineProperties(Injector, proxiedInjectorProps);\n return Injector;\n}\n\nfunction grabStoresByName(storeNames) {\n return function (baseStores, nextProps) {\n storeNames.forEach(function (storeName) {\n if (storeName in nextProps // prefer props over stores\n ) return;\n if (!(storeName in baseStores)) throw new Error(\"MobX injector: Store '\" + storeName + \"' is not available! Make sure it is provided by some Provider\");\n nextProps[storeName] = baseStores[storeName];\n });\n return nextProps;\n };\n}\n/**\n * higher order component that injects stores to a child.\n * takes either a varargs list of strings, which are stores read from the context,\n * or a function that manually maps the available stores from the context to props:\n * storesToProps(mobxStores, props, context) => newProps\n */\n\n\nfunction inject()\n/* fn(stores, nextProps) or ...storeNames */\n{\n var grabStoresFn;\n\n if (typeof arguments[0] === \"function\") {\n grabStoresFn = arguments[0];\n return function (componentClass) {\n var injected = createStoreInjector(grabStoresFn, componentClass);\n injected.isMobxInjector = false; // supress warning\n // mark the Injector as observer, to make it react to expressions in `grabStoresFn`,\n // see #111\n\n injected = observer(injected);\n injected.isMobxInjector = true; // restore warning\n\n return injected;\n };\n } else {\n var storeNames = [];\n\n for (var i = 0; i < arguments.length; i++) {\n storeNames[i] = arguments[i];\n }\n\n grabStoresFn = grabStoresByName(storeNames);\n return function (componentClass) {\n return createStoreInjector(grabStoresFn, componentClass, storeNames.join(\"-\"));\n };\n }\n}\n\nvar mobxAdminProperty = $mobx || \"$mobx\";\nvar mobxIsUnmounted = newSymbol(\"isUnmounted\");\n/**\n * dev tool support\n */\n\nvar isDevtoolsEnabled = false;\nvar isUsingStaticRendering = false;\nvar warnedAboutObserverInjectDeprecation = false; // WeakMap;\n\nvar componentByNodeRegistry = typeof WeakMap !== \"undefined\" ? new WeakMap() : undefined;\nvar renderReporter = new EventEmitter();\nvar skipRenderKey = newSymbol(\"skipRender\");\nvar isForcingUpdateKey = newSymbol(\"isForcingUpdate\"); // Using react-is had some issues (and operates on elements, not on types), see #608 / #609\n\nvar ReactForwardRefSymbol = typeof forwardRef === \"function\" && forwardRef(function (_props, _ref) {})[\"$$typeof\"];\n/**\n * Helper to set `prop` to `this` as non-enumerable (hidden prop)\n * @param target\n * @param prop\n * @param value\n */\n\nfunction setHiddenProp(target, prop, value) {\n if (!Object.hasOwnProperty.call(target, prop)) {\n Object.defineProperty(target, prop, {\n enumerable: false,\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n target[prop] = value;\n }\n}\n\nfunction findDOMNode$2(component) {\n if (findDOMNode) {\n try {\n return findDOMNode(component);\n } catch (e) {\n // findDOMNode will throw in react-test-renderer, see:\n // See https://github.com/mobxjs/mobx-react/issues/216\n // Is there a better heuristic?\n return null;\n }\n }\n\n return null;\n}\n\nfunction reportRendering(component) {\n var node = findDOMNode$2(component);\n if (node && componentByNodeRegistry) componentByNodeRegistry.set(node, component);\n renderReporter.emit({\n event: \"render\",\n renderTime: component.__$mobRenderEnd - component.__$mobRenderStart,\n totalTime: Date.now() - component.__$mobRenderStart,\n component: component,\n node: node\n });\n}\n\nfunction trackComponents() {\n if (typeof WeakMap === \"undefined\") throw new Error(\"[mobx-react] tracking components is not supported in this browser.\");\n if (!isDevtoolsEnabled) isDevtoolsEnabled = true;\n}\nfunction useStaticRendering(useStaticRendering) {\n isUsingStaticRendering = useStaticRendering;\n}\n/**\n * Errors reporter\n */\n\nvar errorsReporter = new EventEmitter();\n/**\n * Utilities\n */\n\nfunction patch$1(target, funcName) {\n patch(target, funcName, reactiveMixin[funcName]);\n}\n\nfunction shallowEqual(objA, objB) {\n //From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (is(objA, objB)) return true;\n\n if (_typeof(objA) !== \"object\" || objA === null || _typeof(objB) !== \"object\" || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction is(x, y) {\n // From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction makeComponentReactive(render) {\n var _this2 = this;\n\n if (isUsingStaticRendering === true) return render.call(this);\n\n function reactiveRender() {\n var _this = this;\n\n isRenderingPending = false;\n var exception = undefined;\n var rendering = undefined;\n reaction.track(function () {\n if (isDevtoolsEnabled) {\n _this.__$mobRenderStart = Date.now();\n }\n\n try {\n rendering = _allowStateChanges(false, baseRender);\n } catch (e) {\n exception = e;\n }\n\n if (isDevtoolsEnabled) {\n _this.__$mobRenderEnd = Date.now();\n }\n });\n\n if (exception) {\n errorsReporter.emit(exception);\n throw exception;\n }\n\n return rendering;\n } // Generate friendly name for debugging\n\n\n var initialName = this.displayName || this.name || this.constructor && (this.constructor.displayName || this.constructor.name) || \"\";\n var rootNodeID = this._reactInternalInstance && this._reactInternalInstance._rootNodeID || this._reactInternalInstance && this._reactInternalInstance._debugID || this._reactInternalFiber && this._reactInternalFiber._debugID;\n /**\n * If props are shallowly modified, react will render anyway,\n * so atom.reportChanged() should not result in yet another re-render\n */\n\n setHiddenProp(this, skipRenderKey, false);\n /**\n * forceUpdate will re-assign this.props. We don't want that to cause a loop,\n * so detect these changes\n */\n\n setHiddenProp(this, isForcingUpdateKey, false); // wire up reactive render\n\n var baseRender = render.bind(this);\n var isRenderingPending = false;\n var reaction = new Reaction(\"\".concat(initialName, \"#\").concat(rootNodeID, \".render()\"), function () {\n if (!isRenderingPending) {\n // N.B. Getting here *before mounting* means that a component constructor has side effects (see the relevant test in misc.js)\n // This unidiomatic React usage but React will correctly warn about this so we continue as usual\n // See #85 / Pull #44\n isRenderingPending = true;\n if (typeof _this2.componentWillReact === \"function\") _this2.componentWillReact(); // TODO: wrap in action?\n\n if (_this2[mobxIsUnmounted] !== true) {\n // If we are unmounted at this point, componentWillReact() had a side effect causing the component to unmounted\n // TODO: remove this check? Then react will properly warn about the fact that this should not happen? See #73\n // However, people also claim this might happen during unit tests..\n var hasError = true;\n\n try {\n setHiddenProp(_this2, isForcingUpdateKey, true);\n if (!_this2[skipRenderKey]) Component.prototype.forceUpdate.call(_this2);\n hasError = false;\n } finally {\n setHiddenProp(_this2, isForcingUpdateKey, false);\n if (hasError) reaction.dispose();\n }\n }\n }\n });\n reaction.reactComponent = this;\n reactiveRender[mobxAdminProperty] = reaction;\n this.render = reactiveRender;\n return reactiveRender.call(this);\n}\n/**\n * ReactiveMixin\n */\n\n\nvar reactiveMixin = {\n componentWillUnmount: function componentWillUnmount() {\n if (isUsingStaticRendering === true) return;\n this.render[mobxAdminProperty] && this.render[mobxAdminProperty].dispose();\n this[mobxIsUnmounted] = true;\n\n if (isDevtoolsEnabled) {\n var node = findDOMNode$2(this);\n\n if (node && componentByNodeRegistry) {\n componentByNodeRegistry.delete(node);\n }\n\n renderReporter.emit({\n event: \"destroy\",\n component: this,\n node: node\n });\n }\n },\n componentDidMount: function componentDidMount() {\n if (isDevtoolsEnabled) {\n reportRendering(this);\n }\n },\n componentDidUpdate: function componentDidUpdate() {\n if (isDevtoolsEnabled) {\n reportRendering(this);\n }\n },\n shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {\n if (isUsingStaticRendering) {\n console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\");\n } // update on any state changes (as is the default)\n\n\n if (this.state !== nextState) {\n return true;\n } // update if props are shallowly not equal, inspired by PureRenderMixin\n // we could return just 'false' here, and avoid the `skipRender` checks etc\n // however, it is nicer if lifecycle events are triggered like usually,\n // so we return true here if props are shallowly modified.\n\n\n return !shallowEqual(this.props, nextProps);\n }\n};\n\nfunction makeObservableProp(target, propName) {\n var valueHolderKey = newSymbol(\"reactProp_\".concat(propName, \"_valueHolder\"));\n var atomHolderKey = newSymbol(\"reactProp_\".concat(propName, \"_atomHolder\"));\n\n function getAtom() {\n if (!this[atomHolderKey]) {\n setHiddenProp(this, atomHolderKey, createAtom(\"reactive \" + propName));\n }\n\n return this[atomHolderKey];\n }\n\n Object.defineProperty(target, propName, {\n configurable: true,\n enumerable: true,\n get: function get() {\n getAtom.call(this).reportObserved();\n return this[valueHolderKey];\n },\n set: function set(v) {\n if (!this[isForcingUpdateKey] && !shallowEqual(this[valueHolderKey], v)) {\n setHiddenProp(this, valueHolderKey, v);\n setHiddenProp(this, skipRenderKey, true);\n getAtom.call(this).reportChanged();\n setHiddenProp(this, skipRenderKey, false);\n } else {\n setHiddenProp(this, valueHolderKey, v);\n }\n }\n });\n}\n/**\n * Observer function / decorator\n */\n\n\nfunction observer(arg1, arg2) {\n if (typeof arg1 === \"string\") {\n throw new Error(\"Store names should be provided as array\");\n }\n\n if (Array.isArray(arg1)) {\n // TODO: remove in next major\n // component needs stores\n if (!warnedAboutObserverInjectDeprecation) {\n warnedAboutObserverInjectDeprecation = true;\n console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject(\"store1\", \"store2\") @observer ComponentClass` or `inject(\"store1\", \"store2\")(observer(componentClass))` instead of `@observer([\"store1\", \"store2\"]) ComponentClass`');\n }\n\n if (!arg2) {\n // invoked as decorator\n return function (componentClass) {\n return observer(arg1, componentClass);\n };\n } else {\n return inject.apply(null, arg1)(observer(arg2));\n }\n }\n\n var componentClass = arg1;\n\n if (componentClass.isMobxInjector === true) {\n console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\");\n }\n\n if (componentClass.__proto__ === PureComponent) {\n console.warn(\"Mobx observer: You are using 'observer' on React.PureComponent. These two achieve two opposite goals and should not be used together\");\n } // Unwrap forward refs into `` component\n // we need to unwrap the render, because it is the inner render that needs to be tracked,\n // not the ForwardRef HoC\n\n\n if (ReactForwardRefSymbol && componentClass[\"$$typeof\"] === ReactForwardRefSymbol) {\n var _baseRender = componentClass.render;\n if (typeof _baseRender !== \"function\") throw new Error(\"render property of ForwardRef was not a function\"); // TODO: do we need to hoist statics from baseRender to the forward ref?\n\n return forwardRef(function ObserverForwardRef() {\n var _arguments = arguments;\n return React__default.createElement(Observer, null, function () {\n return _baseRender.apply(undefined, _arguments);\n });\n });\n } // Stateless function component:\n // If it is function but doesn't seem to be a react class constructor,\n // wrap it to a react class automatically\n\n\n if (typeof componentClass === \"function\" && (!componentClass.prototype || !componentClass.prototype.render) && !componentClass.isReactClass && !Component.isPrototypeOf(componentClass)) {\n var _class, _temp;\n\n var observerComponent = observer((_temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inherits(_class, _Component);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: \"render\",\n value: function render() {\n return componentClass.call(this, this.props, this.context);\n }\n }]);\n\n return _class;\n }(Component), _class.displayName = componentClass.displayName || componentClass.name, _class.contextTypes = componentClass.contextTypes, _class.propTypes = componentClass.propTypes, _class.defaultProps = componentClass.defaultProps, _temp));\n hoistNonReactStatics_cjs(observerComponent, componentClass);\n return observerComponent;\n }\n\n if (!componentClass) {\n throw new Error(\"Please pass a valid component to 'observer'\");\n }\n\n var target = componentClass.prototype || componentClass;\n mixinLifecycleEvents(target);\n componentClass.isMobXReactObserver = true;\n makeObservableProp(target, \"props\");\n makeObservableProp(target, \"state\");\n var baseRender = target.render;\n\n target.render = function () {\n return makeComponentReactive.call(this, baseRender);\n };\n\n return componentClass;\n}\n\nfunction mixinLifecycleEvents(target) {\n [\"componentDidMount\", \"componentWillUnmount\", \"componentDidUpdate\"].forEach(function (funcName) {\n patch$1(target, funcName);\n });\n\n if (!target.shouldComponentUpdate) {\n target.shouldComponentUpdate = reactiveMixin.shouldComponentUpdate;\n } else {\n if (target.shouldComponentUpdate !== reactiveMixin.shouldComponentUpdate) {\n // TODO: make throw in next major\n console.warn(\"Use `shouldComponentUpdate` in an `observer` based component breaks the behavior of `observer` and might lead to unexpected results. Manually implementing `sCU` should not be needed when using mobx-react.\");\n }\n }\n}\n\nvar Observer = observer(function (_ref2) {\n var children = _ref2.children,\n observerInject = _ref2.inject,\n render = _ref2.render;\n var component = children || render;\n\n if (typeof component === \"undefined\") {\n return null;\n }\n\n if (!observerInject) {\n return component();\n } // TODO: remove in next major\n\n\n console.warn(\" is no longer supported. Please use inject on the enclosing component instead\");\n var InjectComponent = inject(observerInject)(component);\n return React__default.createElement(InjectComponent, null);\n});\nObserver.displayName = \"Observer\";\n\nvar ObserverPropsCheck = function ObserverPropsCheck(props, key, componentName, location, propFullName) {\n var extraKey = key === \"children\" ? \"render\" : \"children\";\n\n if (typeof props[key] === \"function\" && typeof props[extraKey] === \"function\") {\n return new Error(\"Invalid prop,do not use children and render in the same time in`\" + componentName);\n }\n\n if (typeof props[key] === \"function\" || typeof props[extraKey] === \"function\") {\n return;\n }\n\n return new Error(\"Invalid prop `\" + propFullName + \"` of type `\" + _typeof(props[key]) + \"` supplied to\" + \" `\" + componentName + \"`, expected `function`.\");\n};\n\nObserver.propTypes = {\n render: ObserverPropsCheck,\n children: ObserverPropsCheck\n};\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component$$1) {\n var prototype = Component$$1.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component$$1.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component$$1;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component$$1.displayName || Component$$1.name;\n var newApiName =\n typeof Component$$1.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component$$1.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component$$1;\n}\n\nvar specialReactKeys = {\n children: true,\n key: true,\n ref: true\n};\n\nvar Provider =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Provider, _Component);\n\n function Provider(props, context) {\n var _this;\n\n _classCallCheck(this, Provider);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Provider).call(this, props, context));\n _this.state = {};\n copyStores(props, _this.state);\n return _this;\n }\n\n _createClass(Provider, [{\n key: \"render\",\n value: function render() {\n return Children.only(this.props.children);\n }\n }, {\n key: \"getChildContext\",\n value: function getChildContext() {\n var stores = {}; // inherit stores\n\n copyStores(this.context.mobxStores, stores); // add own stores\n\n copyStores(this.props, stores);\n return {\n mobxStores: stores\n };\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (!nextProps) return null;\n if (!prevState) return nextProps; // Maybe this warning is too aggressive?\n\n if (Object.keys(nextProps).filter(validStoreName).length !== Object.keys(prevState).filter(validStoreName).length) console.warn(\"MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children\");\n if (!nextProps.suppressChangedStoreWarning) for (var key in nextProps) {\n if (validStoreName(key) && prevState[key] !== nextProps[key]) console.warn(\"MobX Provider: Provided store '\" + key + \"' has changed. Please avoid replacing stores as the change might not propagate to all children\");\n }\n return nextProps;\n }\n }]);\n\n return Provider;\n}(Component);\n\nProvider.contextTypes = {\n mobxStores: objectOrObservableObject\n};\nProvider.childContextTypes = {\n mobxStores: objectOrObservableObject.isRequired\n};\n\nfunction copyStores(from, to) {\n if (!from) return;\n\n for (var key in from) {\n if (validStoreName(key)) to[key] = from[key];\n }\n}\n\nfunction validStoreName(key) {\n return !specialReactKeys[key] && key !== \"suppressChangedStoreWarning\";\n} // TODO: kill in next major\n\n\npolyfill(Provider);\n\nvar storeKey = newSymbol(\"disposeOnUnmount\");\n\nfunction runDisposersOnWillUnmount() {\n var _this = this;\n\n if (!this[storeKey]) {\n // when disposeOnUnmount is only set to some instances of a component it will still patch the prototype\n return;\n }\n\n this[storeKey].forEach(function (propKeyOrFunction) {\n var prop = typeof propKeyOrFunction === \"string\" ? _this[propKeyOrFunction] : propKeyOrFunction;\n\n if (prop !== undefined && prop !== null) {\n if (typeof prop !== \"function\") {\n throw new Error(\"[mobx-react] disposeOnUnmount only works on functions such as disposers returned by reactions, autorun, etc.\");\n }\n\n prop();\n }\n });\n this[storeKey] = [];\n}\n\nfunction disposeOnUnmount(target, propertyKeyOrFunction) {\n if (Array.isArray(propertyKeyOrFunction)) {\n return propertyKeyOrFunction.map(function (fn) {\n return disposeOnUnmount(target, fn);\n });\n }\n\n if (!target instanceof Component) {\n throw new Error(\"[mobx-react] disposeOnUnmount only works on class based React components.\");\n }\n\n if (typeof propertyKeyOrFunction !== \"string\" && typeof propertyKeyOrFunction !== \"function\") {\n throw new Error(\"[mobx-react] disposeOnUnmount only works if the parameter is either a property key or a function.\");\n } // add property key / function we want run (disposed) to the store\n\n\n var componentWasAlreadyModified = !!target[storeKey];\n var store = target[storeKey] || (target[storeKey] = []);\n store.push(propertyKeyOrFunction); // tweak the component class componentWillUnmount if not done already\n\n if (!componentWasAlreadyModified) {\n patch(target, \"componentWillUnmount\", runDisposersOnWillUnmount);\n } // return the disposer as is if invoked as a non decorator\n\n\n if (typeof propertyKeyOrFunction !== \"string\") {\n return propertyKeyOrFunction;\n }\n}\n\nif (!Component) throw new Error(\"mobx-react requires React to be available\");\nif (!spy) throw new Error(\"mobx-react requires mobx to be available\");\nif (typeof unstable_batchedUpdates === \"function\") configure({\n reactionScheduler: unstable_batchedUpdates\n});\nvar onError = function onError(fn) {\n return errorsReporter.on(fn);\n};\n\nif ((typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"undefined\" ? \"undefined\" : _typeof(__MOBX_DEVTOOLS_GLOBAL_HOOK__)) === \"object\") {\n var mobx = {\n spy: spy,\n extras: {\n getDebugName: getDebugName\n }\n };\n var mobxReact = {\n renderReporter: renderReporter,\n componentByNodeRegistry: componentByNodeRegistry,\n componentByNodeRegistery: componentByNodeRegistry,\n trackComponents: trackComponents\n };\n\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(mobxReact, mobx);\n}\n\nexport { propTypes, propTypes as PropTypes, onError, observer, Observer, renderReporter, componentByNodeRegistry as componentByNodeRegistery, componentByNodeRegistry, trackComponents, useStaticRendering, Provider, inject, disposeOnUnmount };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/mobx-react/index.module.js\n// module id = 2\n// module chunks = 0","import { observable, action} from 'mobx'\nimport data from './data'\n\nlet currentLanguage = window.localStorage.getItem('language')\nif (!currentLanguage || (currentLanguage !== 'cn' && currentLanguage !== 'en')) {\n window.localStorage.setItem('language', 'cn')\n currentLanguage = 'cn'\n}\n\nclass Store {\n @observable language = data[currentLanguage]\n @observable path = '/'\n\n @action changeLanguage(language) {\n this.language = data[language]\n window.localStorage.setItem('language', language)\n }\n @action changePath(path) {\n this.path = path\n }\n}\n\nexport default new Store()\n\n\n// WEBPACK FOOTER //\n// ./src/mobx/store.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/warning/warning.js\n// module id = 4\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/invariant/browser.js\n// module id = 5\n// module chunks = 0","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/history/esm/history.js\n// module id = 6\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 7\n// module chunks = 0","import _BrowserRouter from \"./BrowserRouter\";\nexport { _BrowserRouter as BrowserRouter };\nimport _HashRouter from \"./HashRouter\";\nexport { _HashRouter as HashRouter };\nimport _Link from \"./Link\";\nexport { _Link as Link };\nimport _MemoryRouter from \"./MemoryRouter\";\nexport { _MemoryRouter as MemoryRouter };\nimport _NavLink from \"./NavLink\";\nexport { _NavLink as NavLink };\nimport _Prompt from \"./Prompt\";\nexport { _Prompt as Prompt };\nimport _Redirect from \"./Redirect\";\nexport { _Redirect as Redirect };\nimport _Route from \"./Route\";\nexport { _Route as Route };\nimport _Router from \"./Router\";\nexport { _Router as Router };\nimport _StaticRouter from \"./StaticRouter\";\nexport { _StaticRouter as StaticRouter };\nimport _Switch from \"./Switch\";\nexport { _Switch as Switch };\nimport _generatePath from \"./generatePath\";\nexport { _generatePath as generatePath };\nimport _matchPath from \"./matchPath\";\nexport { _matchPath as matchPath };\nimport _withRouter from \"./withRouter\";\nexport { _withRouter as withRouter };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/index.js\n// module id = 8\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Router from \"react-router/es/Router\";\n\nexport default Router;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Router.js\n// module id = 9\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = function (_React$Component) {\n _inherits(Router, _React$Component);\n\n function Router() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props.history.location.pathname)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Router.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n history: this.props.history,\n route: {\n location: this.props.history.location,\n match: this.state.match\n }\n })\n };\n };\n\n Router.prototype.computeMatch = function computeMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n Router.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n history = _props.history;\n\n\n invariant(children == null || React.Children.count(children) === 1, \"A may have only one child element\");\n\n // Do this here so we can setState when a changes the\n // location in componentWillMount. This happens e.g. when doing\n // server rendering using a .\n this.unlisten = history.listen(function () {\n _this2.setState({\n match: _this2.computeMatch(history.location.pathname)\n });\n });\n };\n\n Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(this.props.history === nextProps.history, \"You cannot change \");\n };\n\n Router.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unlisten();\n };\n\n Router.prototype.render = function render() {\n var children = this.props.children;\n\n return children ? React.Children.only(children) : null;\n };\n\n return Router;\n}(React.Component);\n\nRouter.propTypes = {\n history: PropTypes.object.isRequired,\n children: PropTypes.node\n};\nRouter.contextTypes = {\n router: PropTypes.object\n};\nRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Router;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Router.js\n// module id = 10\n// module chunks = 0","import pathToRegexp from \"path-to-regexp\";\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compilePath = function compilePath(pattern, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var keys = [];\n var re = pathToRegexp(pattern, keys, options);\n var compiledPattern = { re: re, keys: keys };\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledPattern;\n cacheCount++;\n }\n\n return compiledPattern;\n};\n\n/**\n * Public API for matching a URL pathname to a path pattern.\n */\nvar matchPath = function matchPath(pathname) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var parent = arguments[2];\n\n if (typeof options === \"string\") options = { path: options };\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === undefined ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === undefined ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === undefined ? false : _options$sensitive;\n\n\n if (path == null) return parent;\n\n var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }),\n re = _compilePath.re,\n keys = _compilePath.keys;\n\n var match = re.exec(pathname);\n\n if (!match) return null;\n\n var url = match[0],\n values = match.slice(1);\n\n var isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path: path, // the path pattern used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact: isExact, // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n};\n\nexport default matchPath;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/matchPath.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/promise/lib/core.js\n// module id = 12\n// module chunks = 0","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 13\n// module chunks = 0","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-dom/index.js\n// module id = 14\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport { createLocation } from \"history\";\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware .\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, [\"replace\", \"to\", \"innerRef\"]); // eslint-disable-line no-unused-vars\n\n invariant(this.context.router, \"You should not use outside a \");\n\n invariant(to !== undefined, 'You must specify the \"to\" property');\n\n var history = this.context.router.history;\n\n var location = typeof to === \"string\" ? createLocation(to, null, null, history.location) : to;\n\n var href = history.createHref(location);\n return React.createElement(\"a\", _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(React.Component);\n\nLink.propTypes = {\n onClick: PropTypes.func,\n target: PropTypes.string,\n replace: PropTypes.bool,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func])\n};\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired,\n createHref: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\nexport default Link;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Link.js\n// module id = 15\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Route from \"react-router/es/Route\";\n\nexport default Route;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Route.js\n// module id = 16\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport matchPath from \"./matchPath\";\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n};\n\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = function (_React$Component) {\n _inherits(Route, _React$Component);\n\n function Route() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Route);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props, _this.context.router)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Route.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n route: {\n location: this.props.location || this.context.router.route.location,\n match: this.state.match\n }\n })\n };\n };\n\n Route.prototype.computeMatch = function computeMatch(_ref, router) {\n var computedMatch = _ref.computedMatch,\n location = _ref.location,\n path = _ref.path,\n strict = _ref.strict,\n exact = _ref.exact,\n sensitive = _ref.sensitive;\n\n if (computedMatch) return computedMatch; // already computed the match for us\n\n invariant(router, \"You should not use or withRouter() outside a \");\n\n var route = router.route;\n\n var pathname = (location || route.location).pathname;\n\n return matchPath(pathname, { path: path, strict: strict, exact: exact, sensitive: sensitive }, route.match);\n };\n\n Route.prototype.componentWillMount = function componentWillMount() {\n warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\");\n\n warning(!(this.props.component && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n\n warning(!(this.props.render && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n };\n\n Route.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) {\n warning(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n warning(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n\n this.setState({\n match: this.computeMatch(nextProps, nextContext.router)\n });\n };\n\n Route.prototype.render = function render() {\n var match = this.state.match;\n var _props = this.props,\n children = _props.children,\n component = _props.component,\n render = _props.render;\n var _context$router = this.context.router,\n history = _context$router.history,\n route = _context$router.route,\n staticContext = _context$router.staticContext;\n\n var location = this.props.location || route.location;\n var props = { match: match, location: location, history: history, staticContext: staticContext };\n\n if (component) return match ? React.createElement(component, props) : null;\n\n if (render) return match ? render(props) : null;\n\n if (typeof children === \"function\") return children(props);\n\n if (children && !isEmptyChildren(children)) return React.Children.only(children);\n\n return null;\n };\n\n return Route;\n}(React.Component);\n\nRoute.propTypes = {\n computedMatch: PropTypes.object, // private, from \n path: PropTypes.string,\n exact: PropTypes.bool,\n strict: PropTypes.bool,\n sensitive: PropTypes.bool,\n component: PropTypes.func,\n render: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n location: PropTypes.object\n};\nRoute.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n })\n};\nRoute.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Route;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Route.js\n// module id = 17\n// module chunks = 0","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/path-to-regexp/index.js\n// module id = 18\n// module chunks = 0","import pathToRegexp from \"path-to-regexp\";\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compileGenerator = function compileGenerator(pattern) {\n var cacheKey = pattern;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var compiledGenerator = pathToRegexp.compile(pattern);\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledGenerator;\n cacheCount++;\n }\n\n return compiledGenerator;\n};\n\n/**\n * Public API for generating a URL pathname from a pattern and parameters.\n */\nvar generatePath = function generatePath() {\n var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (pattern === \"/\") {\n return pattern;\n }\n var generator = compileGenerator(pattern);\n return generator(params, { pretty: true });\n};\n\nexport default generatePath;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/generatePath.js\n// module id = 19\n// module chunks = 0","/** MobX - (c) Michel Weststrate 2015 - 2020 - MIT Licensed */\nvar OBFUSCATED_ERROR = \"An invariant failed, however the error is obfuscated because this is a production build.\";\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\nfunction fail(message) {\n invariant(false, message);\n throw \"X\"; // unreachable\n}\nfunction invariant(check, message) {\n if (!check)\n throw new Error(\"[mobx] \" + (message || OBFUSCATED_ERROR));\n}\n/**\n * Prints a deprecation message, but only one time.\n * Returns false if the deprecated message was already printed before\n */\nvar deprecatedMessages = [];\nfunction deprecated(msg, thing) {\n if (process.env.NODE_ENV === \"production\")\n return false;\n if (thing) {\n return deprecated(\"'\" + msg + \"', use '\" + thing + \"' instead.\");\n }\n if (deprecatedMessages.indexOf(msg) !== -1)\n return false;\n deprecatedMessages.push(msg);\n console.error(\"[mobx] Deprecated: \" + msg);\n return true;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked)\n return;\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function () { };\nfunction unique(list) {\n var res = [];\n list.forEach(function (item) {\n if (res.indexOf(item) === -1)\n res.push(item);\n });\n return res;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (value === null || typeof value !== \"object\")\n return false;\n var proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n}\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure;\n }\n else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure);\n }\n else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for (var key in dataStructure) {\n map.set(key, dataStructure[key]);\n }\n return map;\n }\n else {\n return fail(\"Cannot convert to map from '\" + dataStructure + \"'\");\n }\n}\nfunction addHiddenProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n Object.defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction isPropertyConfigurable(object, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(object, prop);\n return !descriptor || (descriptor.configurable !== false && descriptor.writable !== false);\n}\nfunction assertPropertyConfigurable(object, prop) {\n if (process.env.NODE_ENV !== \"production\" && !isPropertyConfigurable(object, prop))\n fail(\"Cannot make property '\" + prop.toString() + \"' observable, it is not configurable and writable in the target object\");\n}\nfunction createInstanceofPredicate(name, clazz) {\n var propName = \"isMobX\" + name;\n clazz.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\n/**\n * Returns whether the argument is an array, disregarding observability.\n */\nfunction isArrayLike(x) {\n return Array.isArray(x) || isObservableArray(x);\n}\nfunction isES6Map(thing) {\n return thing instanceof Map;\n}\nfunction isES6Set(thing) {\n return thing instanceof Set;\n}\n/**\n * Returns the following: own keys, prototype keys & own symbol keys, if they are enumerable.\n */\nfunction getPlainObjectKeys(object) {\n var enumerables = new Set();\n for (var key in object)\n enumerables.add(key); // *all* enumerables\n Object.getOwnPropertySymbols(object).forEach(function (k) {\n if (Object.getOwnPropertyDescriptor(object, k).enumerable)\n enumerables.add(k);\n }); // *own* symbols\n // Note: this implementation is missing enumerable, inherited, symbolic property names! That would however pretty expensive to add,\n // as there is no efficient iterator that returns *all* properties\n return Array.from(enumerables);\n}\nfunction stringifyKey(key) {\n if (key && key.toString)\n return key.toString();\n else\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : Object.getOwnPropertySymbols\n ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); }\n : /* istanbul ignore next */ Object.getOwnPropertyNames;\n\nvar $mobx = Symbol(\"mobx administration\");\nvar Atom = /** @class */ (function () {\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n function Atom(name) {\n if (name === void 0) { name = \"Atom@\" + getNextId(); }\n this.name = name;\n this.isPendingUnobservation = false; // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n this.isBeingObserved = false;\n this.observers = new Set();\n this.diffValue = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.NOT_TRACKING;\n }\n Atom.prototype.onBecomeObserved = function () {\n if (this.onBecomeObservedListeners) {\n this.onBecomeObservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n Atom.prototype.onBecomeUnobserved = function () {\n if (this.onBecomeUnobservedListeners) {\n this.onBecomeUnobservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */\n Atom.prototype.reportObserved = function () {\n return reportObserved(this);\n };\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n Atom.prototype.reportChanged = function () {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n Atom.prototype.toString = function () {\n return this.name;\n };\n return Atom;\n}());\nvar isAtom = createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) { onBecomeObservedHandler = noop; }\n if (onBecomeUnobservedHandler === void 0) { onBecomeUnobservedHandler = noop; }\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler);\n }\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n }\n return atom;\n}\n\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n return Object.is(a, b);\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n};\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar mobxDidRunLazyInitializersSymbol = Symbol(\"mobx did run lazy initializers\");\nvar mobxPendingDecorators = Symbol(\"mobx pending decorators\");\nvar enumerableDescriptorCache = {};\nvar nonEnumerableDescriptorCache = {};\nfunction createPropertyInitializerDescriptor(prop, enumerable) {\n var cache = enumerable ? enumerableDescriptorCache : nonEnumerableDescriptorCache;\n return (cache[prop] ||\n (cache[prop] = {\n configurable: true,\n enumerable: enumerable,\n get: function () {\n initializeInstance(this);\n return this[prop];\n },\n set: function (value) {\n initializeInstance(this);\n this[prop] = value;\n }\n }));\n}\nfunction initializeInstance(target) {\n var e_1, _a;\n if (target[mobxDidRunLazyInitializersSymbol] === true)\n return;\n var decorators = target[mobxPendingDecorators];\n if (decorators) {\n addHiddenProp(target, mobxDidRunLazyInitializersSymbol, true);\n // Build property key array from both strings and symbols\n var keys = __spread(Object.getOwnPropertySymbols(decorators), Object.keys(decorators));\n try {\n for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {\n var key = keys_1_1.value;\n var d = decorators[key];\n d.propertyCreator(target, d.prop, d.descriptor, d.decoratorTarget, d.decoratorArguments);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n}\nfunction createPropDecorator(propertyInitiallyEnumerable, propertyCreator) {\n return function decoratorFactory() {\n var decoratorArguments;\n var decorator = function decorate(target, prop, descriptor, applyImmediately\n // This is a special parameter to signal the direct application of a decorator, allow extendObservable to skip the entire type decoration part,\n // as the instance to apply the decorator to equals the target\n ) {\n if (applyImmediately === true) {\n propertyCreator(target, prop, descriptor, target, decoratorArguments);\n return null;\n }\n if (process.env.NODE_ENV !== \"production\" && !quacksLikeADecorator(arguments))\n fail(\"This function is a decorator, but it wasn't invoked like a decorator\");\n if (!Object.prototype.hasOwnProperty.call(target, mobxPendingDecorators)) {\n var inheritedDecorators = target[mobxPendingDecorators];\n addHiddenProp(target, mobxPendingDecorators, __assign({}, inheritedDecorators));\n }\n target[mobxPendingDecorators][prop] = {\n prop: prop,\n propertyCreator: propertyCreator,\n descriptor: descriptor,\n decoratorTarget: target,\n decoratorArguments: decoratorArguments\n };\n return createPropertyInitializerDescriptor(prop, propertyInitiallyEnumerable);\n };\n if (quacksLikeADecorator(arguments)) {\n // @decorator\n decoratorArguments = EMPTY_ARRAY;\n return decorator.apply(null, arguments);\n }\n else {\n // @decorator(args)\n decoratorArguments = Array.prototype.slice.call(arguments);\n return decorator;\n }\n };\n}\nfunction quacksLikeADecorator(args) {\n return (((args.length === 2 || args.length === 3) &&\n (typeof args[1] === \"string\" || typeof args[1] === \"symbol\")) ||\n (args.length === 4 && args[3] === true));\n}\n\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v))\n return v;\n // something that can be converted and mutated?\n if (Array.isArray(v))\n return observable.array(v, { name: name });\n if (isPlainObject(v))\n return observable.object(v, undefined, { name: name });\n if (isES6Map(v))\n return observable.map(v, { name: name });\n if (isES6Set(v))\n return observable.set(v, { name: name });\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null)\n return v;\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v))\n return v;\n if (Array.isArray(v))\n return observable.array(v, { name: name, deep: false });\n if (isPlainObject(v))\n return observable.object(v, undefined, { name: name, deep: false });\n if (isES6Map(v))\n return observable.map(v, { name: name, deep: false });\n if (isES6Set(v))\n return observable.set(v, { name: name, deep: false });\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\");\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue, name) {\n if (process.env.NODE_ENV !== \"production\" && isObservable(v))\n throw \"observable.struct should not be used with observable values\";\n if (deepEqual(v, oldValue))\n return oldValue;\n return v;\n}\n\nfunction createDecoratorForEnhancer(enhancer) {\n invariant(enhancer);\n var decorator = createPropDecorator(true, function (target, propertyName, descriptor, _decoratorTarget, decoratorArgs) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(!descriptor || !descriptor.get, \"@observable cannot be used on getter (property \\\"\" + stringifyKey(propertyName) + \"\\\"), use @computed instead.\");\n }\n var initialValue = descriptor\n ? descriptor.initializer\n ? descriptor.initializer.call(target)\n : descriptor.value\n : undefined;\n asObservableObject(target).addObservableProp(propertyName, initialValue, enhancer);\n });\n var res = \n // Extra process checks, as this happens during module initialization\n typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\"\n ? function observableDecorator() {\n // This wrapper function is just to detect illegal decorator invocations, deprecate in a next version\n // and simply return the created prop decorator\n if (arguments.length < 2)\n return fail(\"Incorrect decorator invocation. @observable decorator doesn't expect any arguments\");\n return decorator.apply(null, arguments);\n }\n : decorator;\n res.enhancer = enhancer;\n return res;\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction assertValidOption(key) {\n if (!/^(deep|name|equals|defaultDecorator|proxy)$/.test(key))\n fail(\"invalid option for (extend)observable: \" + key);\n}\nfunction asCreateObservableOptions(thing) {\n if (thing === null || thing === undefined)\n return defaultCreateObservableOptions;\n if (typeof thing === \"string\")\n return { name: thing, deep: true, proxy: true };\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof thing !== \"object\")\n return fail(\"expected options object\");\n Object.keys(thing).forEach(assertValidOption);\n }\n return thing;\n}\nvar deepDecorator = createDecoratorForEnhancer(deepEnhancer);\nvar shallowDecorator = createDecoratorForEnhancer(shallowEnhancer);\nvar refDecorator = createDecoratorForEnhancer(referenceEnhancer);\nvar refStructDecorator = createDecoratorForEnhancer(refStructEnhancer);\nfunction getEnhancerFromOptions(options) {\n return options.defaultDecorator\n ? options.defaultDecorator.enhancer\n : options.deep === false\n ? referenceEnhancer\n : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v, arg2, arg3) {\n // @observable someProp;\n if (typeof arguments[1] === \"string\" || typeof arguments[1] === \"symbol\") {\n return deepDecorator.apply(null, arguments);\n }\n // it is an observable already, done\n if (isObservable(v))\n return v;\n // something that can be converted and mutated?\n var res = isPlainObject(v)\n ? observable.object(v, arg2, arg3)\n : Array.isArray(v)\n ? observable.array(v, arg2)\n : isES6Map(v)\n ? observable.map(v, arg2)\n : isES6Set(v)\n ? observable.set(v, arg2)\n : v;\n // this value could be converted to a new observable data structure, return it\n if (res !== v)\n return res;\n // otherwise, just box it\n fail(process.env.NODE_ENV !== \"production\" &&\n \"The provided value could not be converted into an observable. If you want just create an observable reference to the object use 'observable.box(value)'\");\n}\nvar observableFactories = {\n box: function (value, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"box\");\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"array\");\n var o = asCreateObservableOptions(options);\n return createObservableArray(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"map\");\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function (initialValues, options) {\n if (arguments.length > 2)\n incorrectlyUsedAsDecorator(\"set\");\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function (props, decorators, options) {\n if (typeof arguments[1] === \"string\")\n incorrectlyUsedAsDecorator(\"object\");\n var o = asCreateObservableOptions(options);\n if (o.proxy === false) {\n return extendObservable({}, props, decorators, o);\n }\n else {\n var defaultDecorator = getDefaultDecoratorFromObjectOptions(o);\n var base = extendObservable({}, undefined, undefined, o);\n var proxy = createDynamicObservableObject(base);\n extendObservableObjectWithProperties(proxy, props, decorators, defaultDecorator);\n return proxy;\n }\n },\n ref: refDecorator,\n shallow: shallowDecorator,\n deep: deepDecorator,\n struct: refStructDecorator\n};\nvar observable = createObservable;\n// weird trick to keep our typings nicely with our funcs, and still extend the observable function\nObject.keys(observableFactories).forEach(function (name) { return (observable[name] = observableFactories[name]); });\nfunction incorrectlyUsedAsDecorator(methodName) {\n fail(\n // process.env.NODE_ENV !== \"production\" &&\n \"Expected one or two arguments to observable.\" + methodName + \". Did you accidentally try to use observable.\" + methodName + \" as decorator?\");\n}\n\nvar computedDecorator = createPropDecorator(false, function (instance, propertyName, descriptor, decoratorTarget, decoratorArgs) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(descriptor && descriptor.get, \"Trying to declare a computed value for unspecified getter '\" + stringifyKey(propertyName) + \"'\");\n }\n var get = descriptor.get, set = descriptor.set; // initialValue is the descriptor for get / set props\n // Optimization: faster on decorator target or instance? Assuming target\n // Optimization: find out if declaring on instance isn't just faster. (also makes the property descriptor simpler). But, more memory usage..\n // Forcing instance now, fixes hot reloadig issues on React Native:\n var options = decoratorArgs[0] || {};\n asObservableObject(instance).addComputedProp(instance, propertyName, __assign({ get: get,\n set: set, context: instance }, options));\n});\nvar computedStructDecorator = computedDecorator({ equals: comparer.structural });\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nvar computed = function computed(arg1, arg2, arg3) {\n if (typeof arg2 === \"string\") {\n // @computed\n return computedDecorator.apply(null, arguments);\n }\n if (arg1 !== null && typeof arg1 === \"object\" && arguments.length === 1) {\n // @computed({ options })\n return computedDecorator.apply(null, arguments);\n }\n // computed(expr, options?)\n if (process.env.NODE_ENV !== \"production\") {\n invariant(typeof arg1 === \"function\", \"First argument to `computed` should be an expression.\");\n invariant(arguments.length < 3, \"Computed takes one or two arguments if used as function\");\n }\n var opts = typeof arg2 === \"object\" ? arg2 : {};\n opts.get = arg1;\n opts.set = typeof arg2 === \"function\" ? arg2 : opts.set;\n opts.name = opts.name || arg1.name || \"\"; /* for generated name */\n return new ComputedValue(opts);\n};\ncomputed.struct = computedStructDecorator;\n\nvar IDerivationState;\n(function (IDerivationState) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState[IDerivationState[\"NOT_TRACKING\"] = -1] = \"NOT_TRACKING\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState[IDerivationState[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState[IDerivationState[\"POSSIBLY_STALE\"] = 1] = \"POSSIBLY_STALE\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState[IDerivationState[\"STALE\"] = 2] = \"STALE\";\n})(IDerivationState || (IDerivationState = {}));\nvar TraceMode;\n(function (TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = /** @class */ (function () {\n function CaughtException(cause) {\n this.cause = cause;\n // Empty\n }\n return CaughtException;\n}());\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState) {\n case IDerivationState.UP_TO_DATE:\n return false;\n case IDerivationState.NOT_TRACKING:\n case IDerivationState.STALE:\n return true;\n case IDerivationState.POSSIBLY_STALE: {\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing, l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get();\n }\n else {\n try {\n obj.get();\n }\n catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState === IDerivationState.STALE) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n }\n}\n// function invariantShouldCompute(derivation: IDerivation) {\n// const newDepState = (derivation as any).dependenciesState\n// if (\n// process.env.NODE_ENV === \"production\" &&\n// (newDepState === IDerivationState.POSSIBLY_STALE ||\n// newDepState === IDerivationState.NOT_TRACKING)\n// )\n// fail(\"Illegal dependency state\")\n// }\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\nfunction checkIfStateModificationsAreAllowed(atom) {\n var hasObservers = atom.observers.size > 0;\n // Should never be possible to change an observed observable from inside computed, see #798\n if (globalState.computationDepth > 0 && hasObservers)\n fail(process.env.NODE_ENV !== \"production\" &&\n \"Computed values are not allowed to cause side effects by changing observables that are already being observed. Tried to modify: \" + atom.name);\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"strict\"))\n fail(process.env.NODE_ENV !== \"production\" &&\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing observed observable values outside actions is not allowed. Please wrap the code in an `action` if this change is intended. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, the render function of a React component? Tried to modify: \") +\n atom.name);\n}\nfunction checkIfStateReadsAreAllowed(observable) {\n if (process.env.NODE_ENV !== \"production\" &&\n !globalState.allowStateReads &&\n globalState.observableRequiresReaction) {\n console.warn(\"[mobx] Observable \" + observable.name + \" being read outside a reactive context\");\n }\n}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nfunction trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation);\n derivation.newObserving = new Array(derivation.observing.length + 100);\n derivation.unboundDepsCount = 0;\n derivation.runId = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n var result;\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context);\n }\n else {\n try {\n result = f.call(context);\n }\n catch (e) {\n result = new CaughtException(e);\n }\n }\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n if (process.env.NODE_ENV === \"production\")\n return;\n if (derivation.observing.length !== 0)\n return;\n if (globalState.reactionRequiresObservable || derivation.requiresObservable) {\n console.warn(\"[mobx] Derivation \" + derivation.name + \" is created/updated without reading any observable value\");\n }\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing;\n var observing = (derivation.observing = derivation.newObserving);\n var lowestNewObservingDerivationState = IDerivationState.UP_TO_DATE;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0, l = derivation.unboundDepsCount;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue === 0) {\n dep.diffValue = 1;\n if (i0 !== i)\n observing[i0] = dep;\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = dep.dependenciesState;\n }\n }\n observing.length = i0;\n derivation.newObserving = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while (l--) {\n var dep = prevObserving[l];\n if (dep.diffValue === 0) {\n removeObserver(dep, derivation);\n }\n dep.diffValue = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n var dep = observing[i0];\n if (dep.diffValue === 1) {\n dep.diffValue = 0;\n addObserver(dep, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState.UP_TO_DATE) {\n derivation.dependenciesState = lowestNewObservingDerivationState;\n derivation.onBecomeStale();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing;\n derivation.observing = [];\n var i = obs.length;\n while (i--)\n removeObserver(obs[i], derivation);\n derivation.dependenciesState = IDerivationState.NOT_TRACKING;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n }\n finally {\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState === IDerivationState.UP_TO_DATE)\n return;\n derivation.dependenciesState = IDerivationState.UP_TO_DATE;\n var obs = derivation.observing;\n var i = obs.length;\n while (i--)\n obs[i].lowestObserverState = IDerivationState.UP_TO_DATE;\n}\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar functionNameDescriptor = Object.getOwnPropertyDescriptor(function () { }, \"name\");\nvar isFunctionNameConfigurable = functionNameDescriptor && functionNameDescriptor.configurable;\nfunction createAction(actionName, fn, ref) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(typeof fn === \"function\", \"`action` can only be invoked on functions\");\n if (typeof actionName !== \"string\" || !actionName)\n fail(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n var res = function () {\n return executeAction(actionName, fn, ref || this, arguments);\n };\n res.isMobxAction = true;\n if (process.env.NODE_ENV !== \"production\") {\n if (isFunctionNameConfigurable) {\n Object.defineProperty(res, \"name\", { value: actionName });\n }\n }\n return res;\n}\nfunction executeAction(actionName, fn, scope, args) {\n var runInfo = _startAction(actionName, scope, args);\n try {\n return fn.apply(scope, args);\n }\n catch (err) {\n runInfo.error = err;\n throw err;\n }\n finally {\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, scope, args) {\n var notifySpy = isSpyEnabled() && !!actionName;\n var startTime = 0;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n startTime = Date.now();\n var l = (args && args.length) || 0;\n var flattendArgs = new Array(l);\n if (l > 0)\n for (var i = 0; i < l; i++)\n flattendArgs[i] = args[i];\n spyReportStart({\n type: \"action\",\n name: actionName,\n object: scope,\n arguments: flattendArgs\n });\n }\n var prevDerivation = untrackedStart();\n startBatch();\n var prevAllowStateChanges = allowStateChangesStart(true);\n var prevAllowStateReads = allowStateReadsStart(true);\n var runInfo = {\n prevDerivation: prevDerivation,\n prevAllowStateChanges: prevAllowStateChanges,\n prevAllowStateReads: prevAllowStateReads,\n notifySpy: notifySpy,\n startTime: startTime,\n actionId: nextActionId++,\n parentActionId: currentActionId\n };\n currentActionId = runInfo.actionId;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId) {\n fail(\"invalid action stack. did you forget to finish an action?\");\n }\n currentActionId = runInfo.parentActionId;\n if (runInfo.error !== undefined) {\n globalState.suppressReactionErrors = true;\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges);\n allowStateReadsEnd(runInfo.prevAllowStateReads);\n endBatch();\n untrackedEnd(runInfo.prevDerivation);\n if (runInfo.notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd({ time: Date.now() - runInfo.startTime });\n }\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n var res;\n try {\n res = func();\n }\n finally {\n allowStateChangesEnd(prev);\n }\n return res;\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\nfunction allowStateChangesInsideComputed(func) {\n var prev = globalState.computationDepth;\n globalState.computationDepth = 0;\n var res;\n try {\n res = func();\n }\n finally {\n globalState.computationDepth = prev;\n }\n return res;\n}\n\nvar ObservableValue = /** @class */ (function (_super) {\n __extends(ObservableValue, _super);\n function ObservableValue(value, enhancer, name, notifySpy, equals) {\n if (name === void 0) { name = \"ObservableValue@\" + getNextId(); }\n if (notifySpy === void 0) { notifySpy = true; }\n if (equals === void 0) { equals = comparer.default; }\n var _this = _super.call(this, name) || this;\n _this.enhancer = enhancer;\n _this.name = name;\n _this.equals = equals;\n _this.hasUnreportedChange = false;\n _this.value = enhancer(value, undefined, name);\n if (notifySpy && isSpyEnabled() && process.env.NODE_ENV !== \"production\") {\n // only notify spy if this is a stand-alone observable\n spyReport({ type: \"create\", name: _this.name, newValue: \"\" + _this.value });\n }\n return _this;\n }\n ObservableValue.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined)\n return this.dehancer(value);\n return value;\n };\n ObservableValue.prototype.set = function (newValue) {\n var oldValue = this.value;\n newValue = this.prepareNewValue(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart({\n type: \"update\",\n name: this.name,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n this.setNewValue(newValue);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n }\n };\n ObservableValue.prototype.prepareNewValue = function (newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: \"update\",\n newValue: newValue\n });\n if (!change)\n return globalState.UNCHANGED;\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value, this.name);\n return this.equals(this.value, newValue) ? globalState.UNCHANGED : newValue;\n };\n ObservableValue.prototype.setNewValue = function (newValue) {\n var oldValue = this.value;\n this.value = newValue;\n this.reportChanged();\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: \"update\",\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n };\n ObservableValue.prototype.get = function () {\n this.reportObserved();\n return this.dehanceValue(this.value);\n };\n ObservableValue.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableValue.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately)\n listener({\n object: this,\n type: \"update\",\n newValue: this.value,\n oldValue: undefined\n });\n return registerListener(this, listener);\n };\n ObservableValue.prototype.toJSON = function () {\n return this.get();\n };\n ObservableValue.prototype.toString = function () {\n return this.name + \"[\" + this.value + \"]\";\n };\n ObservableValue.prototype.valueOf = function () {\n return toPrimitive(this.get());\n };\n ObservableValue.prototype[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom));\nvar isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nvar ComputedValue = /** @class */ (function () {\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structualComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n function ComputedValue(options) {\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.observing = []; // nodes we are looking at. Our value depends on these nodes\n this.newObserving = null; // during tracking it's an array with new observed observers\n this.isBeingObserved = false;\n this.isPendingUnobservation = false;\n this.observers = new Set();\n this.diffValue = 0;\n this.runId = 0;\n this.lastAccessedBy = 0;\n this.lowestObserverState = IDerivationState.UP_TO_DATE;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.value = new CaughtException(null);\n this.isComputing = false; // to check for cycles\n this.isRunningSetter = false;\n this.isTracing = TraceMode.NONE;\n invariant(options.get, \"missing option for computed: get\");\n this.derivation = options.get;\n this.name = options.name || \"ComputedValue@\" + getNextId();\n if (options.set)\n this.setter = createAction(this.name + \"-setter\", options.set);\n this.equals =\n options.equals ||\n (options.compareStructural || options.struct\n ? comparer.structural\n : comparer.default);\n this.scope = options.context;\n this.requiresReaction = !!options.requiresReaction;\n this.keepAlive = !!options.keepAlive;\n }\n ComputedValue.prototype.onBecomeStale = function () {\n propagateMaybeChanged(this);\n };\n ComputedValue.prototype.onBecomeObserved = function () {\n if (this.onBecomeObservedListeners) {\n this.onBecomeObservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n ComputedValue.prototype.onBecomeUnobserved = function () {\n if (this.onBecomeUnobservedListeners) {\n this.onBecomeUnobservedListeners.forEach(function (listener) { return listener(); });\n }\n };\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n ComputedValue.prototype.get = function () {\n if (this.isComputing)\n fail(\"Cycle detected in computation \" + this.name + \": \" + this.derivation);\n if (globalState.inBatch === 0 && this.observers.size === 0 && !this.keepAlive) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead();\n startBatch(); // See perf test 'computed memoization'\n this.value = this.computeValue(false);\n endBatch();\n }\n }\n else {\n reportObserved(this);\n if (shouldCompute(this))\n if (this.trackAndCompute())\n propagateChangeConfirmed(this);\n }\n var result = this.value;\n if (isCaughtException(result))\n throw result.cause;\n return result;\n };\n ComputedValue.prototype.peek = function () {\n var res = this.computeValue(false);\n if (isCaughtException(res))\n throw res.cause;\n return res;\n };\n ComputedValue.prototype.set = function (value) {\n if (this.setter) {\n invariant(!this.isRunningSetter, \"The setter of computed value '\" + this.name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\");\n this.isRunningSetter = true;\n try {\n this.setter.call(this.scope, value);\n }\n finally {\n this.isRunningSetter = false;\n }\n }\n else\n invariant(false, process.env.NODE_ENV !== \"production\" &&\n \"[ComputedValue '\" + this.name + \"'] It is not possible to assign a new value to a computed value.\");\n };\n ComputedValue.prototype.trackAndCompute = function () {\n if (isSpyEnabled() && process.env.NODE_ENV !== \"production\") {\n spyReport({\n object: this.scope,\n type: \"compute\",\n name: this.name\n });\n }\n var oldValue = this.value;\n var wasSuspended = \n /* see #1208 */ this.dependenciesState === IDerivationState.NOT_TRACKING;\n var newValue = this.computeValue(true);\n var changed = wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals(oldValue, newValue);\n if (changed) {\n this.value = newValue;\n }\n return changed;\n };\n ComputedValue.prototype.computeValue = function (track) {\n this.isComputing = true;\n globalState.computationDepth++;\n var res;\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope);\n }\n else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope);\n }\n else {\n try {\n res = this.derivation.call(this.scope);\n }\n catch (e) {\n res = new CaughtException(e);\n }\n }\n }\n globalState.computationDepth--;\n this.isComputing = false;\n return res;\n };\n ComputedValue.prototype.suspend = function () {\n if (!this.keepAlive) {\n clearObserving(this);\n this.value = undefined; // don't hold on to computed value!\n }\n };\n ComputedValue.prototype.observe = function (listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n type: \"update\",\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n ComputedValue.prototype.warnAboutUntrackedRead = function () {\n if (process.env.NODE_ENV === \"production\")\n return;\n if (this.requiresReaction === true) {\n fail(\"[mobx] Computed value \" + this.name + \" is read outside a reactive context\");\n }\n if (this.isTracing !== TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + this.name + \"' is being read outside a reactive context. Doing a full recompute\");\n }\n if (globalState.computedRequiresReaction) {\n console.warn(\"[mobx] Computed value \" + this.name + \" is being read outside a reactive context. Doing a full recompute\");\n }\n };\n ComputedValue.prototype.toJSON = function () {\n return this.get();\n };\n ComputedValue.prototype.toString = function () {\n return this.name + \"[\" + this.derivation.toString() + \"]\";\n };\n ComputedValue.prototype.valueOf = function () {\n return toPrimitive(this.get());\n };\n ComputedValue.prototype[Symbol.toPrimitive] = function () {\n return this.valueOf();\n };\n return ComputedValue;\n}());\nvar isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue);\n\n/**\n * These values will persist if global state is reset\n */\nvar persistentKeys = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\"\n];\nvar MobXGlobals = /** @class */ (function () {\n function MobXGlobals() {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n this.version = 5;\n /**\n * globally unique token to signal unchanged\n */\n this.UNCHANGED = {};\n /**\n * Currently running derivation\n */\n this.trackingDerivation = null;\n /**\n * Are we running a computation currently? (not a reaction)\n */\n this.computationDepth = 0;\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n this.runId = 0;\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n this.mobxGuid = 0;\n /**\n * Are we in a batch block? (and how many of them)\n */\n this.inBatch = 0;\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n this.pendingUnobservations = [];\n /**\n * List of scheduled, not yet executed, reactions.\n */\n this.pendingReactions = [];\n /**\n * Are we currently processing reactions?\n */\n this.isRunningReactions = false;\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n this.allowStateChanges = true;\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n this.allowStateReads = true;\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n this.enforceActions = false;\n /**\n * Spy callbacks\n */\n this.spyListeners = [];\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n this.globalReactionErrorHandlers = [];\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n this.computedRequiresReaction = false;\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n this.reactionRequiresObservable = false;\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n this.observableRequiresReaction = false;\n /**\n * Allows overwriting of computed properties, useful in tests but not prod as it can cause\n * memory leaks. See https://github.com/mobxjs/mobx/issues/1867\n */\n this.computedConfigurable = false;\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n this.disableErrorBoundaries = false;\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n this.suppressReactionErrors = false;\n }\n return MobXGlobals;\n}());\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n return mockGlobal;\n}\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = (function () {\n var global = getGlobal();\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals)\n canMergeGlobalState = false;\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version)\n canMergeGlobalState = false;\n if (!canMergeGlobalState) {\n setTimeout(function () {\n if (!isolateCalled) {\n fail(\"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\");\n }\n }, 1);\n return new MobXGlobals();\n }\n else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1;\n if (!global.__mobxGlobals.UNCHANGED)\n global.__mobxGlobals.UNCHANGED = {}; // make merge backward compatible\n return global.__mobxGlobals;\n }\n else {\n global.__mobxInstanceCount = 1;\n return (global.__mobxGlobals = new MobXGlobals());\n }\n})();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions)\n fail(\"isolateGlobalState should be called before MobX is running any reactions\");\n isolateCalled = true;\n if (canMergeGlobalState) {\n if (--getGlobal().__mobxInstanceCount === 0)\n getGlobal().__mobxGlobals = undefined;\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nfunction resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals)\n if (persistentKeys.indexOf(key) === -1)\n globalState[key] = defaultGlobals[key];\n globalState.allowStateChanges = !globalState.enforceActions;\n}\n\nfunction hasObservers(observable) {\n return observable.observers && observable.observers.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers.add(node);\n if (observable.lowestObserverState > node.dependenciesState)\n observable.lowestObserverState = node.dependenciesState;\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers.delete(node);\n if (observable.observers.size === 0) {\n // deleting last observer\n queueForUnobservation(observable);\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nfunction startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable = list[i];\n observable.isPendingUnobservation = false;\n if (observable.observers.size === 0) {\n if (observable.isBeingObserved) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved = false;\n observable.onBecomeUnobserved();\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observable of another, etc..\n observable.suspend();\n }\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId !== observable.lastAccessedBy) {\n observable.lastAccessedBy = derivation.runId;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving[derivation.unboundDepsCount++] = observable;\n if (!observable.isBeingObserved) {\n observable.isBeingObserved = true;\n observable.onBecomeObserved();\n }\n }\n return true;\n }\n else if (observable.observers.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable);\n }\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n// Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.UP_TO_DATE) {\n if (d.isTracing !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale();\n }\n d.dependenciesState = IDerivationState.STALE;\n });\n // invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState === IDerivationState.STALE)\n return;\n observable.lowestObserverState = IDerivationState.STALE;\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.POSSIBLY_STALE)\n d.dependenciesState = IDerivationState.STALE;\n else if (d.dependenciesState === IDerivationState.UP_TO_DATE // this happens during computing of `d`, just keep lowestObserverState up to date.\n )\n observable.lowestObserverState = IDerivationState.UP_TO_DATE;\n });\n // invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState !== IDerivationState.UP_TO_DATE)\n return;\n observable.lowestObserverState = IDerivationState.POSSIBLY_STALE;\n observable.observers.forEach(function (d) {\n if (d.dependenciesState === IDerivationState.UP_TO_DATE) {\n d.dependenciesState = IDerivationState.POSSIBLY_STALE;\n if (d.isTracing !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale();\n }\n });\n // invariantLOS(observable, \"maybe end\");\n}\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name + \"' is invalidated due to a change in: '\" + observable.name + \"'\");\n if (derivation.isTracing === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name + \"' is being traced and '\" + observable.name + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + new Array(depth).join(\"\\t\") + tree.name); // MWE: not the fastest, but the easiest way :)\n if (tree.dependencies)\n tree.dependencies.forEach(function (child) { return printDepTree(child, lines, depth + 1); });\n}\n\nvar Reaction = /** @class */ (function () {\n function Reaction(name, onInvalidate, errorHandler, requiresObservable) {\n if (name === void 0) { name = \"Reaction@\" + getNextId(); }\n if (requiresObservable === void 0) { requiresObservable = false; }\n this.name = name;\n this.onInvalidate = onInvalidate;\n this.errorHandler = errorHandler;\n this.requiresObservable = requiresObservable;\n this.observing = []; // nodes we are looking at. Our value depends on these nodes\n this.newObserving = [];\n this.dependenciesState = IDerivationState.NOT_TRACKING;\n this.diffValue = 0;\n this.runId = 0;\n this.unboundDepsCount = 0;\n this.__mapid = \"#\" + getNextId();\n this.isDisposed = false;\n this._isScheduled = false;\n this._isTrackPending = false;\n this._isRunning = false;\n this.isTracing = TraceMode.NONE;\n }\n Reaction.prototype.onBecomeStale = function () {\n this.schedule();\n };\n Reaction.prototype.schedule = function () {\n if (!this._isScheduled) {\n this._isScheduled = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n };\n Reaction.prototype.isScheduled = function () {\n return this._isScheduled;\n };\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n Reaction.prototype.runReaction = function () {\n if (!this.isDisposed) {\n startBatch();\n this._isScheduled = false;\n if (shouldCompute(this)) {\n this._isTrackPending = true;\n try {\n this.onInvalidate();\n if (this._isTrackPending &&\n isSpyEnabled() &&\n process.env.NODE_ENV !== \"production\") {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name,\n type: \"scheduled-reaction\"\n });\n }\n }\n catch (e) {\n this.reportExceptionInDerivation(e);\n }\n }\n endBatch();\n }\n };\n Reaction.prototype.track = function (fn) {\n if (this.isDisposed) {\n return;\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (notify && process.env.NODE_ENV !== \"production\") {\n startTime = Date.now();\n spyReportStart({\n name: this.name,\n type: \"reaction\"\n });\n }\n this._isRunning = true;\n var result = trackDerivedFunction(this, fn, undefined);\n this._isRunning = false;\n this._isTrackPending = false;\n if (this.isDisposed) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n }\n if (isCaughtException(result))\n this.reportExceptionInDerivation(result.cause);\n if (notify && process.env.NODE_ENV !== \"production\") {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n Reaction.prototype.reportExceptionInDerivation = function (error) {\n var _this = this;\n if (this.errorHandler) {\n this.errorHandler(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries)\n throw error;\n var message = \"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\" + this + \"'\";\n if (globalState.suppressReactionErrors) {\n console.warn(\"[mobx] (error in reaction '\" + this.name + \"' suppressed, fix error of causing action below)\"); // prettier-ignore\n }\n else {\n console.error(message, error);\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n }\n if (isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name,\n message: message,\n error: \"\" + error\n });\n }\n globalState.globalReactionErrorHandlers.forEach(function (f) { return f(error, _this); });\n };\n Reaction.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n if (!this._isRunning) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n Reaction.prototype.getDisposer = function () {\n var r = this.dispose.bind(this);\n r[$mobx] = this;\n return r;\n };\n Reaction.prototype.toString = function () {\n return \"Reaction[\" + this.name + \"]\";\n };\n Reaction.prototype.trace = function (enterBreakPoint) {\n if (enterBreakPoint === void 0) { enterBreakPoint = false; }\n trace(this, enterBreakPoint);\n };\n return Reaction;\n}());\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function () {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0)\n globalState.globalReactionErrorHandlers.splice(idx, 1);\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nvar MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function (f) { return f(); };\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions)\n return;\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\" +\n (\" Probably there is a cycle in the reactive function: \" + allReactions[0]));\n allReactions.splice(0); // clear reactions\n }\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++)\n remainingReactions[i].runReaction();\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function (f) { return fn(function () { return baseScheduler(f); }); };\n}\n\nfunction isSpyEnabled() {\n return process.env.NODE_ENV !== \"production\" && !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (process.env.NODE_ENV === \"production\")\n return; // dead code elimination can do the rest\n if (!globalState.spyListeners.length)\n return;\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++)\n listeners[i](event);\n}\nfunction spyReportStart(event) {\n if (process.env.NODE_ENV === \"production\")\n return;\n var change = __assign(__assign({}, event), { spyReportStart: true });\n spyReport(change);\n}\nvar END_EVENT = { spyReportEnd: true };\nfunction spyReportEnd(change) {\n if (process.env.NODE_ENV === \"production\")\n return;\n if (change)\n spyReport(__assign(__assign({}, change), { spyReportEnd: true }));\n else\n spyReport(END_EVENT);\n}\nfunction spy(listener) {\n if (process.env.NODE_ENV === \"production\") {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function () { };\n }\n else {\n globalState.spyListeners.push(listener);\n return once(function () {\n globalState.spyListeners = globalState.spyListeners.filter(function (l) { return l !== listener; });\n });\n }\n}\n\nfunction dontReassignFields() {\n fail(process.env.NODE_ENV !== \"production\" && \"@action fields are not reassignable\");\n}\nfunction namedActionDecorator(name) {\n return function (target, prop, descriptor) {\n if (descriptor) {\n if (process.env.NODE_ENV !== \"production\" && descriptor.get !== undefined) {\n return fail(\"@action cannot be used with getters\");\n }\n // babel / typescript\n // @action method() { }\n if (descriptor.value) {\n // typescript\n return {\n value: createAction(name, descriptor.value),\n enumerable: false,\n configurable: true,\n writable: true // for typescript, this must be writable, otherwise it cannot inherit :/ (see inheritable actions test)\n };\n }\n // babel only: @action method = () => {}\n var initializer_1 = descriptor.initializer;\n return {\n enumerable: false,\n configurable: true,\n writable: true,\n initializer: function () {\n // N.B: we can't immediately invoke initializer; this would be wrong\n return createAction(name, initializer_1.call(this));\n }\n };\n }\n // bound instance methods\n return actionFieldDecorator(name).apply(this, arguments);\n };\n}\nfunction actionFieldDecorator(name) {\n // Simple property that writes on first invocation to the current instance\n return function (target, prop, descriptor) {\n Object.defineProperty(target, prop, {\n configurable: true,\n enumerable: false,\n get: function () {\n return undefined;\n },\n set: function (value) {\n addHiddenProp(this, prop, action(name, value));\n }\n });\n };\n}\nfunction boundActionDecorator(target, propertyName, descriptor, applyToInstance) {\n if (applyToInstance === true) {\n defineBoundAction(target, propertyName, descriptor.value);\n return null;\n }\n if (descriptor) {\n // if (descriptor.value)\n // Typescript / Babel: @action.bound method() { }\n // also: babel @action.bound method = () => {}\n return {\n configurable: true,\n enumerable: false,\n get: function () {\n defineBoundAction(this, propertyName, descriptor.value || descriptor.initializer.call(this));\n return this[propertyName];\n },\n set: dontReassignFields\n };\n }\n // field decorator Typescript @action.bound method = () => {}\n return {\n enumerable: false,\n configurable: true,\n set: function (v) {\n defineBoundAction(this, propertyName, v);\n },\n get: function () {\n return undefined;\n }\n };\n}\n\nvar action = function action(arg1, arg2, arg3, arg4) {\n // action(fn() {})\n if (arguments.length === 1 && typeof arg1 === \"function\")\n return createAction(arg1.name || \"\", arg1);\n // action(\"name\", fn() {})\n if (arguments.length === 2 && typeof arg2 === \"function\")\n return createAction(arg1, arg2);\n // @action(\"name\") fn() {}\n if (arguments.length === 1 && typeof arg1 === \"string\")\n return namedActionDecorator(arg1);\n // @action fn() {}\n if (arg4 === true) {\n // apply to instance immediately\n addHiddenProp(arg1, arg2, createAction(arg1.name || arg2, arg3.value, this));\n }\n else {\n return namedActionDecorator(arg2).apply(null, arguments);\n }\n};\naction.bound = boundActionDecorator;\nfunction runInAction(arg1, arg2) {\n var actionName = typeof arg1 === \"string\" ? arg1 : arg1.name || \"\";\n var fn = typeof arg1 === \"function\" ? arg1 : arg2;\n if (process.env.NODE_ENV !== \"production\") {\n invariant(typeof fn === \"function\" && fn.length === 0, \"`runInAction` expects a function without arguments\");\n if (typeof actionName !== \"string\" || !actionName)\n fail(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n return executeAction(actionName, fn, this, undefined);\n}\nfunction isAction(thing) {\n return typeof thing === \"function\" && thing.isMobxAction === true;\n}\nfunction defineBoundAction(target, propertyName, fn) {\n addHiddenProp(target, propertyName, createAction(propertyName, fn.bind(target)));\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nfunction autorun(view, opts) {\n if (opts === void 0) { opts = EMPTY_OBJECT; }\n if (process.env.NODE_ENV !== \"production\") {\n invariant(typeof view === \"function\", \"Autorun expects a function as first argument\");\n invariant(isAction(view) === false, \"Autorun does not accept actions since actions are untrackable\");\n }\n var name = (opts && opts.name) || view.name || \"Autorun@\" + getNextId();\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) {\n // normal autorun\n reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n }\n else {\n var scheduler_1 = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled_1 = false;\n reaction = new Reaction(name, function () {\n if (!isScheduled_1) {\n isScheduled_1 = true;\n scheduler_1(function () {\n isScheduled_1 = false;\n if (!reaction.isDisposed)\n reaction.track(reactionRunner);\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n reaction.schedule();\n return reaction.getDisposer();\n}\nvar run = function (f) { return f(); };\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? function (f) { return setTimeout(f, opts.delay); }\n : run;\n}\nfunction reaction(expression, effect, opts) {\n if (opts === void 0) { opts = EMPTY_OBJECT; }\n if (process.env.NODE_ENV !== \"production\") {\n invariant(typeof expression === \"function\", \"First argument to reaction should be a function\");\n invariant(typeof opts === \"object\", \"Third argument of reactions should be an object\");\n }\n var name = opts.name || \"Reaction@\" + getNextId();\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var equals = opts.compareStructural\n ? comparer.structural\n : opts.equals || comparer.default;\n var r = new Reaction(name, function () {\n if (firstTime || runSync) {\n reactionRunner();\n }\n else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false; // Q: move into reaction runner?\n if (r.isDisposed)\n return;\n var changed = false;\n r.track(function () {\n var nextValue = expression(r);\n changed = firstTime || !equals(value, nextValue);\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately)\n effectAction(value, r);\n if (!firstTime && changed === true)\n effectAction(value, r);\n if (firstTime)\n firstTime = false;\n }\n r.schedule();\n return r.getDisposer();\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments);\n }\n catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\n\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(\"onBecomeObserved\", thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(\"onBecomeUnobserved\", thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = typeof arg3 === \"function\" ? arg3 : arg2;\n var listenersKey = hook + \"Listeners\";\n if (atom[listenersKey]) {\n atom[listenersKey].add(cb);\n }\n else {\n atom[listenersKey] = new Set([cb]);\n }\n var orig = atom[hook];\n if (typeof orig !== \"function\")\n return fail(process.env.NODE_ENV !== \"production\" && \"Not an atom that can be (un)observed\");\n return function () {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners.delete(cb);\n if (hookListeners.size === 0) {\n delete atom[listenersKey];\n }\n }\n };\n}\n\nfunction configure(options) {\n var enforceActions = options.enforceActions, computedRequiresReaction = options.computedRequiresReaction, computedConfigurable = options.computedConfigurable, disableErrorBoundaries = options.disableErrorBoundaries, reactionScheduler = options.reactionScheduler, reactionRequiresObservable = options.reactionRequiresObservable, observableRequiresReaction = options.observableRequiresReaction;\n if (options.isolateGlobalState === true) {\n isolateGlobalState();\n }\n if (enforceActions !== undefined) {\n if (typeof enforceActions === \"boolean\" || enforceActions === \"strict\")\n deprecated(\"Deprecated value for 'enforceActions', use 'false' => '\\\"never\\\"', 'true' => '\\\"observed\\\"', '\\\"strict\\\"' => \\\"'always'\\\" instead\");\n var ea = void 0;\n switch (enforceActions) {\n case true:\n case \"observed\":\n ea = true;\n break;\n case false:\n case \"never\":\n ea = false;\n break;\n case \"strict\":\n case \"always\":\n ea = \"strict\";\n break;\n default:\n fail(\"Invalid value for 'enforceActions': '\" + enforceActions + \"', expected 'never', 'always' or 'observed'\");\n }\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === \"strict\" ? false : true;\n }\n if (computedRequiresReaction !== undefined) {\n globalState.computedRequiresReaction = !!computedRequiresReaction;\n }\n if (reactionRequiresObservable !== undefined) {\n globalState.reactionRequiresObservable = !!reactionRequiresObservable;\n }\n if (observableRequiresReaction !== undefined) {\n globalState.observableRequiresReaction = !!observableRequiresReaction;\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n }\n if (computedConfigurable !== undefined) {\n globalState.computedConfigurable = !!computedConfigurable;\n }\n if (disableErrorBoundaries !== undefined) {\n if (disableErrorBoundaries === true)\n console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\");\n globalState.disableErrorBoundaries = !!disableErrorBoundaries;\n }\n if (reactionScheduler) {\n setReactionScheduler(reactionScheduler);\n }\n}\n\nfunction decorate(thing, decorators) {\n process.env.NODE_ENV !== \"production\" &&\n invariant(isPlainObject(decorators), \"Decorators should be a key value map\");\n var target = typeof thing === \"function\" ? thing.prototype : thing;\n var _loop_1 = function (prop) {\n var propertyDecorators = decorators[prop];\n if (!Array.isArray(propertyDecorators)) {\n propertyDecorators = [propertyDecorators];\n }\n process.env.NODE_ENV !== \"production\" &&\n invariant(propertyDecorators.every(function (decorator) { return typeof decorator === \"function\"; }), \"Decorate: expected a decorator function or array of decorator functions for '\" + prop + \"'\");\n var descriptor = Object.getOwnPropertyDescriptor(target, prop);\n var newDescriptor = propertyDecorators.reduce(function (accDescriptor, decorator) { return decorator(target, prop, accDescriptor); }, descriptor);\n if (newDescriptor)\n Object.defineProperty(target, prop, newDescriptor);\n };\n for (var prop in decorators) {\n _loop_1(prop);\n }\n return thing;\n}\n\nfunction extendObservable(target, properties, decorators, options) {\n if (process.env.NODE_ENV !== \"production\") {\n invariant(arguments.length >= 2 && arguments.length <= 4, \"'extendObservable' expected 2-4 arguments\");\n invariant(typeof target === \"object\", \"'extendObservable' expects an object as first argument\");\n invariant(!isObservableMap(target), \"'extendObservable' should not be used on maps, use map.merge instead\");\n }\n options = asCreateObservableOptions(options);\n var defaultDecorator = getDefaultDecoratorFromObjectOptions(options);\n initializeInstance(target); // Fixes #1740\n asObservableObject(target, options.name, defaultDecorator.enhancer); // make sure object is observable, even without initial props\n if (properties)\n extendObservableObjectWithProperties(target, properties, decorators, defaultDecorator);\n return target;\n}\nfunction getDefaultDecoratorFromObjectOptions(options) {\n return options.defaultDecorator || (options.deep === false ? refDecorator : deepDecorator);\n}\nfunction extendObservableObjectWithProperties(target, properties, decorators, defaultDecorator) {\n var e_1, _a, e_2, _b;\n if (process.env.NODE_ENV !== \"production\") {\n invariant(!isObservable(properties), \"Extending an object with another observable (object) is not supported. Please construct an explicit propertymap, using `toJS` if need. See issue #540\");\n if (decorators) {\n var keys = getPlainObjectKeys(decorators);\n try {\n for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {\n var key = keys_1_1.value;\n if (!(key in properties))\n fail(\"Trying to declare a decorator for unspecified property '\" + stringifyKey(key) + \"'\");\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n }\n startBatch();\n try {\n var keys = ownKeys(properties);\n try {\n for (var keys_2 = __values(keys), keys_2_1 = keys_2.next(); !keys_2_1.done; keys_2_1 = keys_2.next()) {\n var key = keys_2_1.value;\n var descriptor = Object.getOwnPropertyDescriptor(properties, key);\n if (process.env.NODE_ENV !== \"production\") {\n if (!isPlainObject(properties))\n fail(\"'extendObservable' only accepts plain objects as second argument\");\n if (isComputed(descriptor.value))\n fail(\"Passing a 'computed' as initial property value is no longer supported by extendObservable. Use a getter or decorator instead\");\n }\n var decorator = decorators && key in decorators\n ? decorators[key]\n : descriptor.get\n ? computedDecorator\n : defaultDecorator;\n if (process.env.NODE_ENV !== \"production\" && typeof decorator !== \"function\")\n fail(\"Not a valid decorator for '\" + stringifyKey(key) + \"', got: \" + decorator);\n var resultDescriptor = decorator(target, key, descriptor, true);\n if (resultDescriptor // otherwise, assume already applied, due to `applyToInstance`\n )\n Object.defineProperty(target, key, resultDescriptor);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (keys_2_1 && !keys_2_1.done && (_b = keys_2.return)) _b.call(keys_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n finally {\n endBatch();\n }\n}\n\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name\n };\n if (node.observing && node.observing.length > 0)\n result.dependencies = unique(node.observing).map(nodeToDependencyTree);\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name\n };\n if (hasObservers(node))\n result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n return result;\n}\n\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nfunction flow(generator) {\n if (arguments.length !== 1)\n fail(!!process.env.NODE_ENV && \"Flow expects 1 argument and cannot be used as decorator\");\n var name = generator.name || \"\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n return function () {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function (resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n }\n catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.throw).call(gen, err);\n }\n catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (ret && typeof ret.then === \"function\") {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done)\n return resolve(ret.value);\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function () {\n try {\n if (pendingPromise)\n cancelPromise(pendingPromise);\n // Finally block can return (or yield) stuff..\n var res = gen.return(undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n }\n catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n return promise;\n };\n}\nfunction cancelPromise(promise) {\n if (typeof promise.cancel === \"function\")\n promise.cancel();\n}\n\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing);\n }\n else if (isObservableObject(thing)) {\n if (typeof propOrHandler !== \"string\")\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"InterceptReads can only be used with a specific property, not with an object in general\");\n target = getAdministration(thing, propOrHandler);\n }\n else {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"Expected observable map, object or array as first array\");\n }\n if (target.dehancer !== undefined)\n return fail(process.env.NODE_ENV !== \"production\" && \"An intercept reader was already established\");\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function () {\n target.dehancer = undefined;\n };\n}\n\nfunction intercept(thing, propOrHandler, handler) {\n if (typeof handler === \"function\")\n return interceptProperty(thing, propOrHandler, handler);\n else\n return interceptInterceptable(thing, propOrHandler);\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept(handler);\n}\n\nfunction _isComputed(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (isObservableObject(value) === false)\n return false;\n if (!value[$mobx].values.has(property))\n return false;\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n }\n return isComputedValue(value);\n}\nfunction isComputed(value) {\n if (arguments.length > 1)\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"isComputed expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n if (typeof propName !== \"string\")\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"isComputed expected a property name as second argument\");\n return _isComputed(value, propName);\n}\n\nfunction _isObservable(value, property) {\n if (value === null || value === undefined)\n return false;\n if (property !== undefined) {\n if (process.env.NODE_ENV !== \"production\" &&\n (isObservableMap(value) || isObservableArray(value)))\n return fail(\"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n if (isObservableObject(value)) {\n return value[$mobx].values.has(property);\n }\n return false;\n }\n // For first check, see #701\n return (isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value));\n}\nfunction isObservable(value) {\n if (arguments.length !== 1)\n fail(process.env.NODE_ENV !== \"production\" &&\n \"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n if (typeof propName !== \"string\")\n return fail(process.env.NODE_ENV !== \"production\" && \"expected a property name as second argument\");\n return _isObservable(value, propName);\n}\n\nfunction keys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].getKeys();\n }\n if (isObservableMap(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (_, index) { return index; });\n }\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'keys()' can only be used on observable objects, arrays, sets and maps\");\n}\nfunction values(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) { return obj[key]; });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) { return obj.get(key); });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values());\n }\n if (isObservableArray(obj)) {\n return obj.slice();\n }\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'values()' can only be used on observable objects, arrays, sets and maps\");\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) { return [key, obj[key]]; });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) { return [key, obj.get(key)]; });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (key, index) { return [index, key]; });\n }\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'entries()' can only be used on observable objects, arrays and maps\");\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var values_1 = key;\n try {\n for (var key_1 in values_1)\n set(obj, key_1, values_1[key_1]);\n }\n finally {\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) {\n var adm = obj[$mobx];\n var existingObservable = adm.values.get(key);\n if (existingObservable) {\n adm.write(key, value);\n }\n else {\n adm.addObservableProp(key, value, adm.defaultEnhancer);\n }\n }\n else if (isObservableMap(obj)) {\n obj.set(key, value);\n }\n else if (isObservableSet(obj)) {\n obj.add(key);\n }\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\")\n key = parseInt(key, 10);\n invariant(key >= 0, \"Not a valid index: '\" + key + \"'\");\n startBatch();\n if (key >= obj.length)\n obj.length = key + 1;\n obj[key] = value;\n endBatch();\n }\n else {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'set()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) {\n obj[$mobx].remove(key);\n }\n else if (isObservableMap(obj)) {\n obj.delete(key);\n }\n else if (isObservableSet(obj)) {\n obj.delete(key);\n }\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\")\n key = parseInt(key, 10);\n invariant(key >= 0, \"Not a valid index: '\" + key + \"'\");\n obj.splice(key, 1);\n }\n else {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'remove()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) {\n // return keys(obj).indexOf(key) >= 0\n var adm = getAdministration(obj);\n return adm.has(key);\n }\n else if (isObservableMap(obj)) {\n return obj.has(key);\n }\n else if (isObservableSet(obj)) {\n return obj.has(key);\n }\n else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length;\n }\n else {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'has()' can only be used on observable objects, arrays and maps\");\n }\n}\nfunction get(obj, key) {\n if (!has(obj, key))\n return undefined;\n if (isObservableObject(obj)) {\n return obj[key];\n }\n else if (isObservableMap(obj)) {\n return obj.get(key);\n }\n else if (isObservableArray(obj)) {\n return obj[key];\n }\n else {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'get()' can only be used on observable objects, arrays and maps\");\n }\n}\n\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (typeof cbOrFire === \"function\")\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n else\n return observeObservable(thing, propOrCb, cbOrFire);\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe(listener, fireImmediately);\n}\n\nvar defaultOptions = {\n detectCycles: true,\n exportMapsAsObjects: true,\n recurseEverything: false\n};\nfunction cache(map, key, value, options) {\n if (options.detectCycles)\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, options, __alreadySeen) {\n if (!options.recurseEverything && !isObservable(source))\n return source;\n if (typeof source !== \"object\")\n return source;\n // Directly return null if source is null\n if (source === null)\n return null;\n // Directly return the Date object itself if contained in the observable\n if (source instanceof Date)\n return source;\n if (isObservableValue(source))\n return toJSHelper(source.get(), options, __alreadySeen);\n // make sure we track the keys of the object\n if (isObservable(source))\n keys(source);\n var detectCycles = options.detectCycles === true;\n if (detectCycles && source !== null && __alreadySeen.has(source)) {\n return __alreadySeen.get(source);\n }\n if (isObservableArray(source) || Array.isArray(source)) {\n var res_1 = cache(__alreadySeen, source, [], options);\n var toAdd = source.map(function (value) { return toJSHelper(value, options, __alreadySeen); });\n res_1.length = toAdd.length;\n for (var i = 0, l = toAdd.length; i < l; i++)\n res_1[i] = toAdd[i];\n return res_1;\n }\n if (isObservableSet(source) || Object.getPrototypeOf(source) === Set.prototype) {\n if (options.exportMapsAsObjects === false) {\n var res_2 = cache(__alreadySeen, source, new Set(), options);\n source.forEach(function (value) {\n res_2.add(toJSHelper(value, options, __alreadySeen));\n });\n return res_2;\n }\n else {\n var res_3 = cache(__alreadySeen, source, [], options);\n source.forEach(function (value) {\n res_3.push(toJSHelper(value, options, __alreadySeen));\n });\n return res_3;\n }\n }\n if (isObservableMap(source) || Object.getPrototypeOf(source) === Map.prototype) {\n if (options.exportMapsAsObjects === false) {\n var res_4 = cache(__alreadySeen, source, new Map(), options);\n source.forEach(function (value, key) {\n res_4.set(key, toJSHelper(value, options, __alreadySeen));\n });\n return res_4;\n }\n else {\n var res_5 = cache(__alreadySeen, source, {}, options);\n source.forEach(function (value, key) {\n res_5[key] = toJSHelper(value, options, __alreadySeen);\n });\n return res_5;\n }\n }\n // Fallback to the situation that source is an ObservableObject or a plain object\n var res = cache(__alreadySeen, source, {}, options);\n getPlainObjectKeys(source).forEach(function (key) {\n res[key] = toJSHelper(source[key], options, __alreadySeen);\n });\n return res;\n}\nfunction toJS(source, options) {\n // backward compatibility\n if (typeof options === \"boolean\")\n options = { detectCycles: options };\n if (!options)\n options = defaultOptions;\n options.detectCycles =\n options.detectCycles === undefined\n ? options.recurseEverything === true\n : options.detectCycles === true;\n var __alreadySeen;\n if (options.detectCycles)\n __alreadySeen = new Map();\n return toJSHelper(source, options, __alreadySeen);\n}\n\nfunction trace() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var enterBreakPoint = false;\n if (typeof args[args.length - 1] === \"boolean\")\n enterBreakPoint = args.pop();\n var derivation = getAtomFromArgs(args);\n if (!derivation) {\n return fail(process.env.NODE_ENV !== \"production\" &&\n \"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly\");\n }\n if (derivation.isTracing === TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + derivation.name + \"' tracing enabled\");\n }\n derivation.isTracing = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG;\n}\nfunction getAtomFromArgs(args) {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nfunction transaction(action, thisArg) {\n if (thisArg === void 0) { thisArg = undefined; }\n startBatch();\n try {\n return action.apply(thisArg);\n }\n finally {\n endBatch();\n }\n}\n\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || (arg1 && typeof arg1 === \"object\"))\n return whenPromise(predicate, arg1);\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n timeoutHandle = setTimeout(function () {\n if (!disposer[$mobx].isDisposed) {\n disposer();\n var error = new Error(\"WHEN_TIMEOUT\");\n if (opts.onError)\n opts.onError(error);\n else\n throw error;\n }\n }, opts.timeout);\n }\n opts.name = opts.name || \"When@\" + getNextId();\n var effectAction = createAction(opts.name + \"-effect\", effect);\n var disposer = autorun(function (r) {\n if (predicate()) {\n r.dispose();\n if (timeoutHandle)\n clearTimeout(timeoutHandle);\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n if (process.env.NODE_ENV !== \"production\" && opts && opts.onError)\n return fail(\"the options 'onError' and 'promise' cannot be combined\");\n var cancel;\n var res = new Promise(function (resolve, reject) {\n var disposer = _when(predicate, resolve, __assign(__assign({}, opts), { onError: reject }));\n cancel = function () {\n disposer();\n reject(\"WHEN_CANCELLED\");\n };\n });\n res.cancel = cancel;\n return res;\n}\n\nfunction getAdm(target) {\n return target[$mobx];\n}\nfunction isPropertyKey(val) {\n return typeof val === \"string\" || typeof val === \"number\" || typeof val === \"symbol\";\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function (target, name) {\n if (name === $mobx || name === \"constructor\" || name === mobxDidRunLazyInitializersSymbol)\n return true;\n var adm = getAdm(target);\n // MWE: should `in` operator be reactive? If not, below code path will be faster / more memory efficient\n // TODO: check performance stats!\n // if (adm.values.get(name as string)) return true\n if (isPropertyKey(name))\n return adm.has(name);\n return name in target;\n },\n get: function (target, name) {\n if (name === $mobx || name === \"constructor\" || name === mobxDidRunLazyInitializersSymbol)\n return target[name];\n var adm = getAdm(target);\n var observable = adm.values.get(name);\n if (observable instanceof Atom) {\n var result = observable.get();\n if (result === undefined) {\n // This fixes #1796, because deleting a prop that has an\n // undefined value won't retrigger a observer (no visible effect),\n // the autorun wouldn't subscribe to future key changes (see also next comment)\n adm.has(name);\n }\n return result;\n }\n // make sure we start listening to future keys\n // note that we only do this here for optimization\n if (isPropertyKey(name))\n adm.has(name);\n return target[name];\n },\n set: function (target, name, value) {\n if (!isPropertyKey(name))\n return false;\n set(target, name, value);\n return true;\n },\n deleteProperty: function (target, name) {\n if (!isPropertyKey(name))\n return false;\n var adm = getAdm(target);\n adm.remove(name);\n return true;\n },\n ownKeys: function (target) {\n var adm = getAdm(target);\n adm.keysAtom.reportObserved();\n return Reflect.ownKeys(target);\n },\n preventExtensions: function (target) {\n fail(\"Dynamic observable objects cannot be frozen\");\n return false;\n }\n};\nfunction createDynamicObservableObject(base) {\n var proxy = new Proxy(base, objectProxyTraps);\n base[$mobx].proxy = proxy;\n return proxy;\n}\n\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors !== undefined && interceptable.interceptors.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors || (interceptable.interceptors = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1)\n interceptors.splice(idx, 1);\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = __spread((interceptable.interceptors || []));\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n invariant(!change || change.type, \"Intercept handlers should return nothing or a change object\");\n if (!change)\n break;\n }\n return change;\n }\n finally {\n untrackedEnd(prevU);\n }\n}\n\nfunction hasListeners(listenable) {\n return listenable.changeListeners !== undefined && listenable.changeListeners.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners || (listenable.changeListeners = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1)\n listeners.splice(idx, 1);\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners;\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change);\n }\n untrackedEnd(prevU);\n}\n\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function (target, name) {\n if (name === $mobx)\n return target[$mobx];\n if (name === \"length\")\n return target[$mobx].getArrayLength();\n if (typeof name === \"number\") {\n return arrayExtensions.get.call(target, name);\n }\n if (typeof name === \"string\" && !isNaN(name)) {\n return arrayExtensions.get.call(target, parseInt(name));\n }\n if (arrayExtensions.hasOwnProperty(name)) {\n return arrayExtensions[name];\n }\n return target[name];\n },\n set: function (target, name, value) {\n if (name === \"length\") {\n target[$mobx].setArrayLength(value);\n }\n if (typeof name === \"number\") {\n arrayExtensions.set.call(target, name, value);\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value;\n }\n else {\n // numeric string\n arrayExtensions.set.call(target, parseInt(name), value);\n }\n return true;\n },\n preventExtensions: function (target) {\n fail(\"Observable arrays cannot be frozen\");\n return false;\n }\n};\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) { name = \"ObservableArray@\" + getNextId(); }\n if (owned === void 0) { owned = false; }\n var adm = new ObservableArrayAdministration(name, enhancer, owned);\n addHiddenFinalProp(adm.values, $mobx, adm);\n var proxy = new Proxy(adm.values, arrayTraps);\n adm.proxy = proxy;\n if (initialValues && initialValues.length) {\n var prev = allowStateChangesStart(true);\n adm.spliceWithArray(0, 0, initialValues);\n allowStateChangesEnd(prev);\n }\n return proxy;\n}\nvar ObservableArrayAdministration = /** @class */ (function () {\n function ObservableArrayAdministration(name, enhancer, owned) {\n this.owned = owned;\n this.values = [];\n this.proxy = undefined;\n this.lastKnownLength = 0;\n this.atom = new Atom(name || \"ObservableArray@\" + getNextId());\n this.enhancer = function (newV, oldV) { return enhancer(newV, oldV, name + \"[..]\"); };\n }\n ObservableArrayAdministration.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined)\n return this.dehancer(value);\n return value;\n };\n ObservableArrayAdministration.prototype.dehanceValues = function (values) {\n if (this.dehancer !== undefined && values.length > 0)\n return values.map(this.dehancer);\n return values;\n };\n ObservableArrayAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableArrayAdministration.prototype.observe = function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n if (fireImmediately) {\n listener({\n object: this.proxy,\n type: \"splice\",\n index: 0,\n added: this.values.slice(),\n addedCount: this.values.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n ObservableArrayAdministration.prototype.getArrayLength = function () {\n this.atom.reportObserved();\n return this.values.length;\n };\n ObservableArrayAdministration.prototype.setArrayLength = function (newLength) {\n if (typeof newLength !== \"number\" || newLength < 0)\n throw new Error(\"[mobx.array] Out of range: \" + newLength);\n var currentLength = this.values.length;\n if (newLength === currentLength)\n return;\n else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for (var i = 0; i < newLength - currentLength; i++)\n newItems[i] = undefined; // No Array.fill everywhere...\n this.spliceWithArray(currentLength, 0, newItems);\n }\n else\n this.spliceWithArray(newLength, currentLength - newLength);\n };\n ObservableArrayAdministration.prototype.updateArrayLength = function (oldLength, delta) {\n if (oldLength !== this.lastKnownLength)\n throw new Error(\"[mobx] Modification exception: the internal structure of an observable array was changed.\");\n this.lastKnownLength += delta;\n };\n ObservableArrayAdministration.prototype.spliceWithArray = function (index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom);\n var length = this.values.length;\n if (index === undefined)\n index = 0;\n else if (index > length)\n index = length;\n else if (index < 0)\n index = Math.max(0, length + index);\n if (arguments.length === 1)\n deleteCount = length - index;\n else if (deleteCount === undefined || deleteCount === null)\n deleteCount = 0;\n else\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n if (newItems === undefined)\n newItems = EMPTY_ARRAY;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy,\n type: \"splice\",\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change)\n return EMPTY_ARRAY;\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function (v) { return _this.enhancer(v, undefined); });\n if (process.env.NODE_ENV !== \"production\") {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength(length, lengthDelta); // checks if internal array wasn't modified\n }\n var res = this.spliceItemsIntoValues(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0)\n this.notifyArraySplice(index, newItems, res);\n return this.dehanceValues(res);\n };\n ObservableArrayAdministration.prototype.spliceItemsIntoValues = function (index, deleteCount, newItems) {\n var _a;\n if (newItems.length < MAX_SPLICE_SIZE) {\n return (_a = this.values).splice.apply(_a, __spread([index, deleteCount], newItems));\n }\n else {\n var res = this.values.slice(index, index + deleteCount);\n this.values = this.values\n .slice(0, index)\n .concat(newItems, this.values.slice(index + deleteCount));\n return res;\n }\n };\n ObservableArrayAdministration.prototype.notifyArrayChildUpdate = function (index, newValue, oldValue) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n object: this.proxy,\n type: \"update\",\n index: index,\n newValue: newValue,\n oldValue: oldValue\n }\n : null;\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));\n this.atom.reportChanged();\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n };\n ObservableArrayAdministration.prototype.notifyArraySplice = function (index, added, removed) {\n var notifySpy = !this.owned && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n object: this.proxy,\n type: \"splice\",\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));\n this.atom.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n };\n return ObservableArrayAdministration;\n}());\nvar arrayExtensions = {\n intercept: function (handler) {\n return this[$mobx].intercept(handler);\n },\n observe: function (listener, fireImmediately) {\n if (fireImmediately === void 0) { fireImmediately = false; }\n var adm = this[$mobx];\n return adm.observe(listener, fireImmediately);\n },\n clear: function () {\n return this.splice(0);\n },\n replace: function (newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray(0, adm.values.length, newItems);\n },\n /**\n * Converts this array back to a (shallow) javascript structure.\n * For a deep clone use mobx.toJS\n */\n toJS: function () {\n return this.slice();\n },\n toJSON: function () {\n // Used by JSON.stringify\n return this.toJS();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice: function (index, deleteCount) {\n var newItems = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n newItems[_i - 2] = arguments[_i];\n }\n var adm = this[$mobx];\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray(index);\n case 2:\n return adm.spliceWithArray(index, deleteCount);\n }\n return adm.spliceWithArray(index, deleteCount, newItems);\n },\n spliceWithArray: function (index, deleteCount, newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray(index, deleteCount, newItems);\n },\n push: function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var adm = this[$mobx];\n adm.spliceWithArray(adm.values.length, 0, items);\n return adm.values.length;\n },\n pop: function () {\n return this.splice(Math.max(this[$mobx].values.length - 1, 0), 1)[0];\n },\n shift: function () {\n return this.splice(0, 1)[0];\n },\n unshift: function () {\n var items = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n items[_i] = arguments[_i];\n }\n var adm = this[$mobx];\n adm.spliceWithArray(0, 0, items);\n return adm.values.length;\n },\n reverse: function () {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n // so we deviate from the default and just make it an dervitation\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[mobx] `observableArray.reverse()` will not update the array in place. Use `observableArray.slice().reverse()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().reverse())` to reverse & update in place\");\n }\n var clone = this.slice();\n return clone.reverse.apply(clone, arguments);\n },\n sort: function (compareFn) {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[mobx] `observableArray.sort()` will not update the array in place. Use `observableArray.slice().sort()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().sort())` to sort & update in place\");\n }\n var clone = this.slice();\n return clone.sort.apply(clone, arguments);\n },\n remove: function (value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues(adm.values).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n },\n get: function (index) {\n var adm = this[$mobx];\n if (adm) {\n if (index < adm.values.length) {\n adm.atom.reportObserved();\n return adm.dehanceValue(adm.values[index]);\n }\n console.warn(\"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + adm.values.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\");\n }\n return undefined;\n },\n set: function (index, newValue) {\n var adm = this[$mobx];\n var values = adm.values;\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(adm.atom);\n var oldValue = values[index];\n if (hasInterceptors(adm)) {\n var change = interceptChange(adm, {\n type: \"update\",\n object: adm.proxy,\n index: index,\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = adm.enhancer(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n adm.notifyArrayChildUpdate(index, newValue, oldValue);\n }\n }\n else if (index === values.length) {\n // add a new item\n adm.spliceWithArray(index, 0, [newValue]);\n }\n else {\n // out of bounds\n throw new Error(\"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + values.length);\n }\n }\n};\n[\n \"concat\",\n \"flat\",\n \"includes\",\n \"indexOf\",\n \"join\",\n \"lastIndexOf\",\n \"slice\",\n \"toString\",\n \"toLocaleString\"\n].forEach(function (funcName) {\n // Feature detection (eg flat may not be available)\n if (typeof Array.prototype[funcName] !== \"function\") {\n return;\n }\n arrayExtensions[funcName] = function () {\n var adm = this[$mobx];\n adm.atom.reportObserved();\n var dehancedValues = adm.dehanceValues(adm.values);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n});\n[\"every\", \"filter\", \"find\", \"findIndex\", \"flatMap\", \"forEach\", \"map\", \"some\"].forEach(function (funcName) {\n // Feature detection (eg flatMap may not be available)\n if (typeof Array.prototype[funcName] !== \"function\") {\n return;\n }\n arrayExtensions[funcName] = function (callback, thisArg) {\n var _this = this;\n var adm = this[$mobx];\n adm.atom.reportObserved();\n var dehancedValues = adm.dehanceValues(adm.values);\n return dehancedValues[funcName](function (element, index) {\n return callback.call(thisArg, element, index, _this);\n }, thisArg);\n };\n});\n[\"reduce\", \"reduceRight\"].forEach(function (funcName) {\n arrayExtensions[funcName] = function () {\n var _this = this;\n var adm = this[$mobx];\n adm.atom.reportObserved();\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function (accumulator, currentValue, index) {\n currentValue = adm.dehanceValue(currentValue);\n return callback(accumulator, currentValue, index, _this);\n };\n return adm.values[funcName].apply(adm.values, arguments);\n };\n});\nvar isObservableArrayAdministration = createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\n\nvar _a;\nvar ObservableMapMarker = {};\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nvar ObservableMap = /** @class */ (function () {\n function ObservableMap(initialData, enhancer, name) {\n if (enhancer === void 0) { enhancer = deepEnhancer; }\n if (name === void 0) { name = \"ObservableMap@\" + getNextId(); }\n this.enhancer = enhancer;\n this.name = name;\n this[_a] = ObservableMapMarker;\n this._keysAtom = createAtom(this.name + \".keys()\");\n this[Symbol.toStringTag] = \"Map\";\n if (typeof Map !== \"function\") {\n throw new Error(\"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\");\n }\n this._data = new Map();\n this._hasMap = new Map();\n this.merge(initialData);\n }\n ObservableMap.prototype._has = function (key) {\n return this._data.has(key);\n };\n ObservableMap.prototype.has = function (key) {\n var _this = this;\n if (!globalState.trackingDerivation)\n return this._has(key);\n var entry = this._hasMap.get(key);\n if (!entry) {\n // todo: replace with atom (breaking change)\n var newEntry = (entry = new ObservableValue(this._has(key), referenceEnhancer, this.name + \".\" + stringifyKey(key) + \"?\", false));\n this._hasMap.set(key, newEntry);\n onBecomeUnobserved(newEntry, function () { return _this._hasMap.delete(key); });\n }\n return entry.get();\n };\n ObservableMap.prototype.set = function (key, value) {\n var hasKey = this._has(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? \"update\" : \"add\",\n object: this,\n newValue: value,\n name: key\n });\n if (!change)\n return this;\n value = change.newValue;\n }\n if (hasKey) {\n this._updateValue(key, value);\n }\n else {\n this._addValue(key, value);\n }\n return this;\n };\n ObservableMap.prototype.delete = function (key) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._keysAtom);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"delete\",\n object: this,\n name: key\n });\n if (!change)\n return false;\n }\n if (this._has(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"delete\",\n object: this,\n oldValue: this._data.get(key).value,\n name: key\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n transaction(function () {\n _this._keysAtom.reportChanged();\n _this._updateHasMapEntry(key, false);\n var observable = _this._data.get(key);\n observable.setNewValue(undefined);\n _this._data.delete(key);\n });\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n return true;\n }\n return false;\n };\n ObservableMap.prototype._updateHasMapEntry = function (key, value) {\n var entry = this._hasMap.get(key);\n if (entry) {\n entry.setNewValue(value);\n }\n };\n ObservableMap.prototype._updateValue = function (key, newValue) {\n var observable = this._data.get(key);\n newValue = observable.prepareNewValue(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"update\",\n object: this,\n oldValue: observable.value,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n }\n };\n ObservableMap.prototype._addValue = function (key, newValue) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._keysAtom);\n transaction(function () {\n var observable = new ObservableValue(newValue, _this.enhancer, _this.name + \".\" + stringifyKey(key), false);\n _this._data.set(key, observable);\n newValue = observable.value; // value might have been changed\n _this._updateHasMapEntry(key, true);\n _this._keysAtom.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n };\n ObservableMap.prototype.get = function (key) {\n if (this.has(key))\n return this.dehanceValue(this._data.get(key).get());\n return this.dehanceValue(undefined);\n };\n ObservableMap.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n ObservableMap.prototype.keys = function () {\n this._keysAtom.reportObserved();\n return this._data.keys();\n };\n ObservableMap.prototype.values = function () {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function () {\n var _b = keys.next(), done = _b.done, value = _b.value;\n return {\n done: done,\n value: done ? undefined : self.get(value)\n };\n }\n });\n };\n ObservableMap.prototype.entries = function () {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function () {\n var _b = keys.next(), done = _b.done, value = _b.value;\n return {\n done: done,\n value: done ? undefined : [value, self.get(value)]\n };\n }\n });\n };\n ObservableMap.prototype[(_a = $mobx, Symbol.iterator)] = function () {\n return this.entries();\n };\n ObservableMap.prototype.forEach = function (callback, thisArg) {\n var e_1, _b;\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2), key = _e[0], value = _e[1];\n callback.call(thisArg, value, key, this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /** Merge another object into this object, returns this. */\n ObservableMap.prototype.merge = function (other) {\n var _this = this;\n if (isObservableMap(other)) {\n other = other.toJS();\n }\n transaction(function () {\n var prev = allowStateChangesStart(true);\n try {\n if (isPlainObject(other))\n getPlainObjectKeys(other).forEach(function (key) {\n return _this.set(key, other[key]);\n });\n else if (Array.isArray(other))\n other.forEach(function (_b) {\n var _c = __read(_b, 2), key = _c[0], value = _c[1];\n return _this.set(key, value);\n });\n else if (isES6Map(other)) {\n if (other.constructor !== Map)\n fail(\"Cannot initialize from classes that inherit from Map: \" + other.constructor.name); // prettier-ignore\n other.forEach(function (value, key) { return _this.set(key, value); });\n }\n else if (other !== null && other !== undefined)\n fail(\"Cannot initialize map from \" + other);\n }\n finally {\n allowStateChangesEnd(prev);\n }\n });\n return this;\n };\n ObservableMap.prototype.clear = function () {\n var _this = this;\n transaction(function () {\n untracked(function () {\n var e_2, _b;\n try {\n for (var _c = __values(_this.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var key = _d.value;\n _this.delete(key);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n });\n });\n };\n ObservableMap.prototype.replace = function (values) {\n var _this = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function () {\n var e_3, _b, e_4, _c;\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n try {\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (var _d = __values(_this._data.keys()), _e = _d.next(); !_e.done; _e = _d.next()) {\n var key = _e.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this.delete(key);\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n else {\n // Delete prevented by interceptor\n var value = _this._data.get(key);\n orderedData.set(key, value);\n }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_3) throw e_3.error; }\n }\n try {\n // Merge entries\n for (var _f = __values(replacementMap.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = __read(_g.value, 2), key = _h[0], value = _h[1];\n // We will want to know whether a new key is added\n var keyExisted = _this._data.has(key);\n // Add or update value\n _this.set(key, value);\n // The addition could have been prevent by interceptor\n if (_this._data.has(key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var value_1 = _this._data.get(key);\n orderedData.set(key, value_1);\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_c = _f.return)) _c.call(_f);\n }\n finally { if (e_4) throw e_4.error; }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this._data.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n _this._keysAtom.reportChanged();\n }\n else {\n var iter1 = _this._data.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while (!next1.done) {\n if (next1.value !== next2.value) {\n _this._keysAtom.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this._data = orderedData;\n });\n return this;\n };\n Object.defineProperty(ObservableMap.prototype, \"size\", {\n get: function () {\n this._keysAtom.reportObserved();\n return this._data.size;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Returns a plain object that represents this map.\n * Note that all the keys being stringified.\n * If there are duplicating keys after converting them to strings, behaviour is undetermined.\n */\n ObservableMap.prototype.toPOJO = function () {\n var e_5, _b;\n var res = {};\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2), key = _e[0], value = _e[1];\n // We lie about symbol key types due to https://github.com/Microsoft/TypeScript/issues/1863\n res[typeof key === \"symbol\" ? key : stringifyKey(key)] = value;\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return res;\n };\n /**\n * Returns a shallow non observable object clone of this map.\n * Note that the values migth still be observable. For a deep clone use mobx.toJS.\n */\n ObservableMap.prototype.toJS = function () {\n return new Map(this);\n };\n ObservableMap.prototype.toJSON = function () {\n // Used by JSON.stringify\n return this.toPOJO();\n };\n ObservableMap.prototype.toString = function () {\n var _this = this;\n return (this.name +\n \"[{ \" +\n Array.from(this.keys())\n .map(function (key) { return stringifyKey(key) + \": \" + (\"\" + _this.get(key)); })\n .join(\", \") +\n \" }]\");\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n ObservableMap.prototype.observe = function (listener, fireImmediately) {\n process.env.NODE_ENV !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support fireImmediately=true in combination with maps.\");\n return registerListener(this, listener);\n };\n ObservableMap.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n return ObservableMap;\n}());\n/* 'var' fixes small-build issue */\nvar isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap);\n\nvar _a$1;\nvar ObservableSetMarker = {};\nvar ObservableSet = /** @class */ (function () {\n function ObservableSet(initialData, enhancer, name) {\n if (enhancer === void 0) { enhancer = deepEnhancer; }\n if (name === void 0) { name = \"ObservableSet@\" + getNextId(); }\n this.name = name;\n this[_a$1] = ObservableSetMarker;\n this._data = new Set();\n this._atom = createAtom(this.name);\n this[Symbol.toStringTag] = \"Set\";\n if (typeof Set !== \"function\") {\n throw new Error(\"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\");\n }\n this.enhancer = function (newV, oldV) { return enhancer(newV, oldV, name); };\n if (initialData) {\n this.replace(initialData);\n }\n }\n ObservableSet.prototype.dehanceValue = function (value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n ObservableSet.prototype.clear = function () {\n var _this = this;\n transaction(function () {\n untracked(function () {\n var e_1, _b;\n try {\n for (var _c = __values(_this._data.values()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var value = _d.value;\n _this.delete(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n });\n });\n };\n ObservableSet.prototype.forEach = function (callbackFn, thisArg) {\n var e_2, _b;\n try {\n for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {\n var value = _d.value;\n callbackFn.call(thisArg, value, value, this);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n Object.defineProperty(ObservableSet.prototype, \"size\", {\n get: function () {\n this._atom.reportObserved();\n return this._data.size;\n },\n enumerable: true,\n configurable: true\n });\n ObservableSet.prototype.add = function (value) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this._atom);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"add\",\n object: this,\n newValue: value\n });\n if (!change)\n return this;\n // TODO: ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(function () {\n _this._data.add(_this.enhancer(value, undefined));\n _this._atom.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this,\n newValue: value\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(change);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n }\n return this;\n };\n ObservableSet.prototype.delete = function (value) {\n var _this = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"delete\",\n object: this,\n oldValue: value\n });\n if (!change)\n return false;\n }\n if (this.has(value)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy\n ? {\n type: \"delete\",\n object: this,\n oldValue: value\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name }));\n transaction(function () {\n _this._atom.reportChanged();\n _this._data.delete(value);\n });\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n return true;\n }\n return false;\n };\n ObservableSet.prototype.has = function (value) {\n this._atom.reportObserved();\n return this._data.has(this.dehanceValue(value));\n };\n ObservableSet.prototype.entries = function () {\n var nextIndex = 0;\n var keys = Array.from(this.keys());\n var values = Array.from(this.values());\n return makeIterable({\n next: function () {\n var index = nextIndex;\n nextIndex += 1;\n return index < values.length\n ? { value: [keys[index], values[index]], done: false }\n : { done: true };\n }\n });\n };\n ObservableSet.prototype.keys = function () {\n return this.values();\n };\n ObservableSet.prototype.values = function () {\n this._atom.reportObserved();\n var self = this;\n var nextIndex = 0;\n var observableValues = Array.from(this._data.values());\n return makeIterable({\n next: function () {\n return nextIndex < observableValues.length\n ? { value: self.dehanceValue(observableValues[nextIndex++]), done: false }\n : { done: true };\n }\n });\n };\n ObservableSet.prototype.replace = function (other) {\n var _this = this;\n if (isObservableSet(other)) {\n other = other.toJS();\n }\n transaction(function () {\n var prev = allowStateChangesStart(true);\n try {\n if (Array.isArray(other)) {\n _this.clear();\n other.forEach(function (value) { return _this.add(value); });\n }\n else if (isES6Set(other)) {\n _this.clear();\n other.forEach(function (value) { return _this.add(value); });\n }\n else if (other !== null && other !== undefined) {\n fail(\"Cannot initialize set from \" + other);\n }\n }\n finally {\n allowStateChangesEnd(prev);\n }\n });\n return this;\n };\n ObservableSet.prototype.observe = function (listener, fireImmediately) {\n // TODO 'fireImmediately' can be true?\n process.env.NODE_ENV !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support fireImmediately=true in combination with sets.\");\n return registerListener(this, listener);\n };\n ObservableSet.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableSet.prototype.toJS = function () {\n return new Set(this);\n };\n ObservableSet.prototype.toString = function () {\n return this.name + \"[ \" + Array.from(this).join(\", \") + \" ]\";\n };\n ObservableSet.prototype[(_a$1 = $mobx, Symbol.iterator)] = function () {\n return this.values();\n };\n return ObservableSet;\n}());\nvar isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet);\n\nvar ObservableObjectAdministration = /** @class */ (function () {\n function ObservableObjectAdministration(target, values, name, defaultEnhancer) {\n if (values === void 0) { values = new Map(); }\n this.target = target;\n this.values = values;\n this.name = name;\n this.defaultEnhancer = defaultEnhancer;\n this.keysAtom = new Atom(name + \".keys\");\n }\n ObservableObjectAdministration.prototype.read = function (key) {\n return this.values.get(key).get();\n };\n ObservableObjectAdministration.prototype.write = function (key, newValue) {\n var instance = this.target;\n var observable = this.values.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: \"update\",\n object: this.proxy || instance,\n name: key,\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy\n ? {\n type: \"update\",\n object: this.proxy || instance,\n oldValue: observable.value,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n observable.setNewValue(newValue);\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n }\n };\n ObservableObjectAdministration.prototype.has = function (key) {\n var map = this.pendingKeys || (this.pendingKeys = new Map());\n var entry = map.get(key);\n if (entry)\n return entry.get();\n else {\n var exists = !!this.values.get(key);\n // Possible optimization: Don't have a separate map for non existing keys,\n // but store them in the values map instead, using a special symbol to denote \"not existing\"\n entry = new ObservableValue(exists, referenceEnhancer, this.name + \".\" + stringifyKey(key) + \"?\", false);\n map.set(key, entry);\n return entry.get(); // read to subscribe\n }\n };\n ObservableObjectAdministration.prototype.addObservableProp = function (propName, newValue, enhancer) {\n if (enhancer === void 0) { enhancer = this.defaultEnhancer; }\n var target = this.target;\n assertPropertyConfigurable(target, propName);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy || target,\n name: propName,\n type: \"add\",\n newValue: newValue\n });\n if (!change)\n return;\n newValue = change.newValue;\n }\n var observable = new ObservableValue(newValue, enhancer, this.name + \".\" + stringifyKey(propName), false);\n this.values.set(propName, observable);\n newValue = observable.value; // observableValue might have changed it\n Object.defineProperty(target, propName, generateObservablePropConfig(propName));\n this.notifyPropertyAddition(propName, newValue);\n };\n ObservableObjectAdministration.prototype.addComputedProp = function (propertyOwner, // where is the property declared?\n propName, options) {\n var target = this.target;\n options.name = options.name || this.name + \".\" + stringifyKey(propName);\n this.values.set(propName, new ComputedValue(options));\n if (propertyOwner === target || isPropertyConfigurable(propertyOwner, propName))\n Object.defineProperty(propertyOwner, propName, generateComputedPropConfig(propName));\n };\n ObservableObjectAdministration.prototype.remove = function (key) {\n if (!this.values.has(key))\n return;\n var target = this.target;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy || target,\n name: key,\n type: \"remove\"\n });\n if (!change)\n return;\n }\n try {\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var oldObservable = this.values.get(key);\n var oldValue = oldObservable && oldObservable.get();\n oldObservable && oldObservable.set(undefined);\n // notify key and keyset listeners\n this.keysAtom.reportChanged();\n this.values.delete(key);\n if (this.pendingKeys) {\n var entry = this.pendingKeys.get(key);\n if (entry)\n entry.set(false);\n }\n // delete the prop\n delete this.target[key];\n var change = notify || notifySpy\n ? {\n type: \"remove\",\n object: this.proxy || target,\n oldValue: oldValue,\n name: key\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n }\n finally {\n endBatch();\n }\n };\n ObservableObjectAdministration.prototype.illegalAccess = function (owner, propName) {\n /**\n * This happens if a property is accessed through the prototype chain, but the property was\n * declared directly as own property on the prototype.\n *\n * E.g.:\n * class A {\n * }\n * extendObservable(A.prototype, { x: 1 })\n *\n * classB extens A {\n * }\n * console.log(new B().x)\n *\n * It is unclear whether the property should be considered 'static' or inherited.\n * Either use `console.log(A.x)`\n * or: decorate(A, { x: observable })\n *\n * When using decorate, the property will always be redeclared as own property on the actual instance\n */\n console.warn(\"Property '\" + propName + \"' of '\" + owner + \"' was accessed through the prototype chain. Use 'decorate' instead to declare the prop or access it statically through it's owner\");\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n ObservableObjectAdministration.prototype.observe = function (callback, fireImmediately) {\n process.env.NODE_ENV !== \"production\" &&\n invariant(fireImmediately !== true, \"`observe` doesn't support the fire immediately property for observable objects.\");\n return registerListener(this, callback);\n };\n ObservableObjectAdministration.prototype.intercept = function (handler) {\n return registerInterceptor(this, handler);\n };\n ObservableObjectAdministration.prototype.notifyPropertyAddition = function (key, newValue) {\n var notify = hasListeners(this);\n var notifySpy = isSpyEnabled();\n var change = notify || notifySpy\n ? {\n type: \"add\",\n object: this.proxy || this.target,\n name: key,\n newValue: newValue\n }\n : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));\n if (notify)\n notifyListeners(this, change);\n if (notifySpy && process.env.NODE_ENV !== \"production\")\n spyReportEnd();\n if (this.pendingKeys) {\n var entry = this.pendingKeys.get(key);\n if (entry)\n entry.set(true);\n }\n this.keysAtom.reportChanged();\n };\n ObservableObjectAdministration.prototype.getKeys = function () {\n var e_1, _a;\n this.keysAtom.reportObserved();\n // return Reflect.ownKeys(this.values) as any\n var res = [];\n try {\n for (var _b = __values(this.values), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n if (value instanceof ObservableValue)\n res.push(key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return res;\n };\n return ObservableObjectAdministration;\n}());\nfunction asObservableObject(target, name, defaultEnhancer) {\n if (name === void 0) { name = \"\"; }\n if (defaultEnhancer === void 0) { defaultEnhancer = deepEnhancer; }\n if (Object.prototype.hasOwnProperty.call(target, $mobx))\n return target[$mobx];\n process.env.NODE_ENV !== \"production\" &&\n invariant(Object.isExtensible(target), \"Cannot make the designated object observable; it is not extensible\");\n if (!isPlainObject(target))\n name = (target.constructor.name || \"ObservableObject\") + \"@\" + getNextId();\n if (!name)\n name = \"ObservableObject@\" + getNextId();\n var adm = new ObservableObjectAdministration(target, new Map(), stringifyKey(name), defaultEnhancer);\n addHiddenProp(target, $mobx, adm);\n return adm;\n}\nvar observablePropertyConfigs = Object.create(null);\nvar computedPropertyConfigs = Object.create(null);\nfunction generateObservablePropConfig(propName) {\n return (observablePropertyConfigs[propName] ||\n (observablePropertyConfigs[propName] = {\n configurable: true,\n enumerable: true,\n get: function () {\n return this[$mobx].read(propName);\n },\n set: function (v) {\n this[$mobx].write(propName, v);\n }\n }));\n}\nfunction getAdministrationForComputedPropOwner(owner) {\n var adm = owner[$mobx];\n if (!adm) {\n // because computed props are declared on proty,\n // the current instance might not have been initialized yet\n initializeInstance(owner);\n return owner[$mobx];\n }\n return adm;\n}\nfunction generateComputedPropConfig(propName) {\n return (computedPropertyConfigs[propName] ||\n (computedPropertyConfigs[propName] = {\n configurable: globalState.computedConfigurable,\n enumerable: false,\n get: function () {\n return getAdministrationForComputedPropOwner(this).read(propName);\n },\n set: function (v) {\n getAdministrationForComputedPropOwner(this).write(propName, v);\n }\n }));\n}\nvar isObservableObjectAdministration = createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n return isObservableObjectAdministration(thing[$mobx]);\n }\n return false;\n}\n\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined)\n fail(process.env.NODE_ENV !== \"production\" &&\n \"It is not possible to get index atoms from arrays\");\n return thing[$mobx].atom;\n }\n if (isObservableSet(thing)) {\n return thing[$mobx];\n }\n if (isObservableMap(thing)) {\n var anyThing = thing;\n if (property === undefined)\n return anyThing._keysAtom;\n var observable = anyThing._data.get(property) || anyThing._hasMap.get(property);\n if (!observable)\n fail(process.env.NODE_ENV !== \"production\" &&\n \"the entry '\" + property + \"' does not exist in the observable map '\" + getDebugName(thing) + \"'\");\n return observable;\n }\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n if (property && !thing[$mobx])\n thing[property]; // See #1072\n if (isObservableObject(thing)) {\n if (!property)\n return fail(process.env.NODE_ENV !== \"production\" && \"please specify a property\");\n var observable = thing[$mobx].values.get(property);\n if (!observable)\n fail(process.env.NODE_ENV !== \"production\" &&\n \"no observable property '\" + property + \"' found on the observable object '\" + getDebugName(thing) + \"'\");\n return observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n }\n else if (typeof thing === \"function\") {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx];\n }\n }\n return fail(process.env.NODE_ENV !== \"production\" && \"Cannot obtain atom from \" + thing);\n}\nfunction getAdministration(thing, property) {\n if (!thing)\n fail(\"Expecting some object\");\n if (property !== undefined)\n return getAdministration(getAtom(thing, property));\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing))\n return thing;\n if (isObservableMap(thing) || isObservableSet(thing))\n return thing;\n // Initializers run lazily when transpiling to babel, so make sure they are run...\n initializeInstance(thing);\n if (thing[$mobx])\n return thing[$mobx];\n fail(process.env.NODE_ENV !== \"production\" && \"Cannot obtain administration from \" + thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined)\n named = getAtom(thing, property);\n else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing))\n named = getAdministration(thing);\n else\n named = getAtom(thing); // valid for arrays as well\n return named.name;\n}\n\nvar toString = Object.prototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) { depth = -1; }\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b)\n return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null)\n return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a)\n return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\")\n return false;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b))\n return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a)\n return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return (typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b));\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++;\n }\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\")\n return false;\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor &&\n !(typeof aCtor === \"function\" &&\n aCtor instanceof aCtor &&\n typeof bCtor === \"function\" &&\n bCtor instanceof bCtor) &&\n (\"constructor\" in a && \"constructor\" in b)) {\n return false;\n }\n }\n if (depth === 0) {\n return false;\n }\n else if (depth < 0) {\n depth = -1;\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a)\n return bStack[length] === b;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length)\n return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack))\n return false;\n }\n }\n else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key = void 0;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length)\n return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(has$1(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack)))\n return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a))\n return a.slice();\n if (isES6Map(a) || isObservableMap(a))\n return Array.from(a.entries());\n if (isES6Set(a) || isObservableSet(a))\n return Array.from(a.entries());\n return a;\n}\nfunction has$1(a, key) {\n return Object.prototype.hasOwnProperty.call(a, key);\n}\n\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return iterator;\n}\nfunction getSelf() {\n return this;\n}\n\n/**\n * (c) Michel Weststrate 2015 - 2018\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get an global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\nif (typeof Proxy === \"undefined\" || typeof Symbol === \"undefined\") {\n throw new Error(\"[mobx] MobX 5+ requires Proxy and Symbol objects. If your environment doesn't support Symbol or Proxy objects, please downgrade to MobX 4. For React Native Android, consider upgrading JSCore.\");\n}\ntry {\n // define process.env if needed\n // if this is not a production build in the first place\n // (in which case the expression below would be substituted with 'production')\n process.env.NODE_ENV;\n}\ncatch (e) {\n var g = getGlobal();\n if (typeof process === \"undefined\")\n g.process = {};\n g.process.env = {};\n}\n(function () {\n function testCodeMinification() { }\n if (testCodeMinification.name !== \"testCodeMinification\" &&\n process.env.NODE_ENV !== \"production\" &&\n typeof process !== 'undefined' && process.env.IGNORE_MOBX_MINIFY_WARNING !== \"true\") {\n // trick so it doesn't get replaced\n var varName = [\"process\", \"env\", \"NODE_ENV\"].join(\".\");\n console.warn(\"[mobx] you are running a minified build, but '\" + varName + \"' was not set to 'production' in your bundler. This results in an unnecessarily large and slow bundle\");\n }\n})();\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n });\n}\n\nexport { $mobx, FlowCancellationError, IDerivationState, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, allowStateChangesInsideComputed as _allowStateChangesInsideComputed, allowStateReadsEnd as _allowStateReadsEnd, allowStateReadsStart as _allowStateReadsStart, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, decorate, entries, extendObservable, flow, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isArrayLike, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isFlowCancellationError, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/mobx/lib/mobx.module.js\n// module id = 20\n// module chunks = 0","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Footer extends React.Component {\n render() {\n return (\n
\n

{store.language.footer.line1}

\n

{store.language.footer.line2}

\n
\n )\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/Layout/Footer/index.jsx","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/mode.js\n// module id = 22\n// module chunks = 0","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/ErrorCorrectLevel.js\n// module id = 23\n// module chunks = 0","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/Polynomial.js\n// module id = 24\n// module chunks = 0","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/math.js\n// module id = 25\n// module chunks = 0","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config/polyfills.js\n// module id = 28\n// module chunks = 0","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/promise/lib/rejection-tracking.js\n// module id = 29\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-raw.js\n// module id = 30\n// module chunks = 0","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/promise/lib/es6-extensions.js\n// module id = 31\n// module chunks = 0","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/whatwg-fetch/fetch.js\n// module id = 32\n// module chunks = 0","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport './index.css';\nimport './App/animations.less'\n\nReactDOM.render(, document.getElementById('root'));\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime\n \n \n
\n \n \n \n \n \n \n \n );\n }\n componentWillMount() {\n function goPAGE() {\n if (\n navigator.userAgent.match(\n /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i,\n )\n ) {\n window.location.href =\n 'https://m.app.redrock.team/';\n }\n }\n goPAGE();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/App/index.jsx","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport Router from \"./Router\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\");\n };\n\n BrowserRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(React.Component);\n\nBrowserRouter.propTypes = {\n basename: PropTypes.string,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n};\n\n\nexport default BrowserRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/BrowserRouter.js\n// module id = 39\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 40\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 41\n// module chunks = 0","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@babel/runtime/helpers/esm/extends.js\n// module id = 42\n// module chunks = 0","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/resolve-pathname/esm/resolve-pathname.js\n// module id = 43\n// module chunks = 0","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/value-equal/esm/value-equal.js\n// module id = 44\n// module chunks = 0","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\n// module id = 46\n// module chunks = 0","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createHashHistory as createHistory } from \"history\";\nimport Router from \"./Router\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = function (_React$Component) {\n _inherits(HashRouter, _React$Component);\n\n function HashRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\");\n };\n\n HashRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return HashRouter;\n}(React.Component);\n\nHashRouter.propTypes = {\n basename: PropTypes.string,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"]),\n children: PropTypes.node\n};\n\n\nexport default HashRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/HashRouter.js\n// module id = 47\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport MemoryRouter from \"react-router/es/MemoryRouter\";\n\nexport default MemoryRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/MemoryRouter.js\n// module id = 48\n// module chunks = 0","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport Router from \"./Router\";\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter = function (_React$Component) {\n _inherits(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MemoryRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MemoryRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\");\n };\n\n MemoryRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nMemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n};\n\n\nexport default MemoryRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/MemoryRouter.js\n// module id = 49\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Route from \"./Route\";\nimport Link from \"./Link\";\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref[\"aria-current\"],\n rest = _objectWithoutProperties(_ref, [\"to\", \"exact\", \"strict\", \"location\", \"activeClassName\", \"className\", \"activeStyle\", \"style\", \"isActive\", \"aria-current\"]);\n\n var path = (typeof to === \"undefined\" ? \"undefined\" : _typeof(to)) === \"object\" ? to.pathname : to;\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n return React.createElement(Route, {\n path: escapedPath,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return React.createElement(Link, _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(\" \") : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n \"aria-current\": isActive && ariaCurrent || null\n }, rest));\n }\n });\n};\n\nNavLink.propTypes = {\n to: Link.propTypes.to,\n exact: PropTypes.bool,\n strict: PropTypes.bool,\n location: PropTypes.object,\n activeClassName: PropTypes.string,\n className: PropTypes.string,\n activeStyle: PropTypes.object,\n style: PropTypes.object,\n isActive: PropTypes.func,\n \"aria-current\": PropTypes.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"])\n};\n\nNavLink.defaultProps = {\n activeClassName: \"active\",\n \"aria-current\": \"page\"\n};\n\nexport default NavLink;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/NavLink.js\n// module id = 50\n// module chunks = 0","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/path-to-regexp/node_modules/isarray/index.js\n// module id = 51\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Prompt from \"react-router/es/Prompt\";\n\nexport default Prompt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Prompt.js\n// module id = 52\n// module chunks = 0","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\n\n/**\n * The public API for prompting the user before navigating away\n * from a screen with a component.\n */\n\nvar Prompt = function (_React$Component) {\n _inherits(Prompt, _React$Component);\n\n function Prompt() {\n _classCallCheck(this, Prompt);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Prompt.prototype.enable = function enable(message) {\n if (this.unblock) this.unblock();\n\n this.unblock = this.context.router.history.block(message);\n };\n\n Prompt.prototype.disable = function disable() {\n if (this.unblock) {\n this.unblock();\n this.unblock = null;\n }\n };\n\n Prompt.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, \"You should not use outside a \");\n\n if (this.props.when) this.enable(this.props.message);\n };\n\n Prompt.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.when) {\n if (!this.props.when || this.props.message !== nextProps.message) this.enable(nextProps.message);\n } else {\n this.disable();\n }\n };\n\n Prompt.prototype.componentWillUnmount = function componentWillUnmount() {\n this.disable();\n };\n\n Prompt.prototype.render = function render() {\n return null;\n };\n\n return Prompt;\n}(React.Component);\n\nPrompt.propTypes = {\n when: PropTypes.bool,\n message: PropTypes.oneOfType([PropTypes.func, PropTypes.string]).isRequired\n};\nPrompt.defaultProps = {\n when: true\n};\nPrompt.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n block: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\nexport default Prompt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Prompt.js\n// module id = 53\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Redirect from \"react-router/es/Redirect\";\n\nexport default Redirect;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Redirect.js\n// module id = 54\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport generatePath from \"./generatePath\";\n\n/**\n * The public API for updating the location programmatically\n * with a component.\n */\n\nvar Redirect = function (_React$Component) {\n _inherits(Redirect, _React$Component);\n\n function Redirect() {\n _classCallCheck(this, Redirect);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Redirect.prototype.isStatic = function isStatic() {\n return this.context.router && this.context.router.staticContext;\n };\n\n Redirect.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, \"You should not use outside a \");\n\n if (this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidMount = function componentDidMount() {\n if (!this.isStatic()) this.perform();\n };\n\n Redirect.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var prevTo = createLocation(prevProps.to);\n var nextTo = createLocation(this.props.to);\n\n if (locationsAreEqual(prevTo, nextTo)) {\n warning(false, \"You tried to redirect to the same route you're currently on: \" + (\"\\\"\" + nextTo.pathname + nextTo.search + \"\\\"\"));\n return;\n }\n\n this.perform();\n };\n\n Redirect.prototype.computeTo = function computeTo(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to;\n\n if (computedMatch) {\n if (typeof to === \"string\") {\n return generatePath(to, computedMatch.params);\n } else {\n return _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n });\n }\n }\n\n return to;\n };\n\n Redirect.prototype.perform = function perform() {\n var history = this.context.router.history;\n var push = this.props.push;\n\n var to = this.computeTo(this.props);\n\n if (push) {\n history.push(to);\n } else {\n history.replace(to);\n }\n };\n\n Redirect.prototype.render = function render() {\n return null;\n };\n\n return Redirect;\n}(React.Component);\n\nRedirect.propTypes = {\n computedMatch: PropTypes.object, // private, from \n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n};\nRedirect.defaultProps = {\n push: false\n};\nRedirect.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired\n }).isRequired,\n staticContext: PropTypes.object\n }).isRequired\n};\n\n\nexport default Redirect;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Redirect.js\n// module id = 55\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport StaticRouter from \"react-router/es/StaticRouter\";\n\nexport default StaticRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/StaticRouter.js\n// module id = 56\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport Router from \"./Router\";\n\nvar addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n};\n\nvar addBasename = function addBasename(basename, location) {\n if (!basename) return location;\n\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n};\n\nvar stripBasename = function stripBasename(basename, location) {\n if (!basename) return location;\n\n var base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n};\n\nvar createURL = function createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n};\n\nvar staticHandler = function staticHandler(methodName) {\n return function () {\n invariant(false, \"You cannot %s with \", methodName);\n };\n};\n\nvar noop = function noop() {};\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\nvar StaticRouter = function (_React$Component) {\n _inherits(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, StaticRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.createHref = function (path) {\n return addLeadingSlash(_this.props.basename + createURL(path));\n }, _this.handlePush = function (location) {\n var _this$props = _this.props,\n basename = _this$props.basename,\n context = _this$props.context;\n\n context.action = \"PUSH\";\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }, _this.handleReplace = function (location) {\n var _this$props2 = _this.props,\n basename = _this$props2.basename,\n context = _this$props2.context;\n\n context.action = \"REPLACE\";\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }, _this.handleListen = function () {\n return noop;\n }, _this.handleBlock = function () {\n return noop;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n StaticRouter.prototype.getChildContext = function getChildContext() {\n return {\n router: {\n staticContext: this.props.context\n }\n };\n };\n\n StaticRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\");\n };\n\n StaticRouter.prototype.render = function render() {\n var _props = this.props,\n basename = _props.basename,\n context = _props.context,\n location = _props.location,\n props = _objectWithoutProperties(_props, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: this.createHref,\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return React.createElement(Router, _extends({}, props, { history: history }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nStaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object.isRequired,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n};\nStaticRouter.defaultProps = {\n basename: \"\",\n location: \"/\"\n};\nStaticRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default StaticRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/StaticRouter.js\n// module id = 57\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport Switch from \"react-router/es/Switch\";\n\nexport default Switch;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/Switch.js\n// module id = 58\n// module chunks = 0","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport matchPath from \"./matchPath\";\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = function (_React$Component) {\n _inherits(Switch, _React$Component);\n\n function Switch() {\n _classCallCheck(this, Switch);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Switch.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, \"You should not use outside a \");\n };\n\n Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(!(nextProps.location && !this.props.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.');\n\n warning(!(!nextProps.location && this.props.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.');\n };\n\n Switch.prototype.render = function render() {\n var route = this.context.router.route;\n var children = this.props.children;\n\n var location = this.props.location || route.location;\n\n var match = void 0,\n child = void 0;\n React.Children.forEach(children, function (element) {\n if (match == null && React.isValidElement(element)) {\n var _element$props = element.props,\n pathProp = _element$props.path,\n exact = _element$props.exact,\n strict = _element$props.strict,\n sensitive = _element$props.sensitive,\n from = _element$props.from;\n\n var path = pathProp || from;\n\n child = element;\n match = matchPath(location.pathname, { path: path, exact: exact, strict: strict, sensitive: sensitive }, route.match);\n }\n });\n\n return match ? React.cloneElement(child, { location: location, computedMatch: match }) : null;\n };\n\n return Switch;\n}(React.Component);\n\nSwitch.contextTypes = {\n router: PropTypes.shape({\n route: PropTypes.object.isRequired\n }).isRequired\n};\nSwitch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n};\n\n\nexport default Switch;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/Switch.js\n// module id = 59\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport generatePath from \"react-router/es/generatePath\";\n\nexport default generatePath;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/generatePath.js\n// module id = 60\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport matchPath from \"react-router/es/matchPath\";\n\nexport default matchPath;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/matchPath.js\n// module id = 61\n// module chunks = 0","// Written in this round about way for babel-transform-imports\nimport withRouter from \"react-router/es/withRouter\";\n\nexport default withRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router-dom/es/withRouter.js\n// module id = 62\n// module chunks = 0","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport Route from \"./Route\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nvar withRouter = function withRouter(Component) {\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutProperties(props, [\"wrappedComponentRef\"]);\n\n return React.createElement(Route, {\n children: function children(routeComponentProps) {\n return React.createElement(Component, _extends({}, remainingProps, routeComponentProps, {\n ref: wrappedComponentRef\n }));\n }\n });\n };\n\n C.displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n C.WrappedComponent = Component;\n C.propTypes = {\n wrappedComponentRef: PropTypes.func\n };\n\n return hoistStatics(C, Component);\n};\n\nexport default withRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/es/withRouter.js\n// module id = 63\n// module chunks = 0","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-router/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\n// module id = 64\n// module chunks = 0","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport { observer, inject } from 'mobx-react'\nimport './index.less'\nimport store from '../../../mobx/store';\n\n@inject('store')\n@observer\nexport default class Header extends React.Component {\n render() {\n return (\n
\n \n
\n )\n }\n\n changeEN = () => {\n store.changeLanguage('en')\n }\n \n changeCN = () => {\n store.changeLanguage('cn')\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/Layout/Header/index.jsx","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 66\n// module chunks = 0","const cn = {\n language: 'cn',\n download: '立即下载',\n header: {\n home: '首页',\n download: '下载',\n redrock: '红岩网校',\n aboutus: '关于我们'\n },\n sidebar: {\n home: '首页',\n function: '基本功能',\n community: '社区版聊',\n schoolbus: '校车轨迹',\n query: '一体化查询'\n },\n index: {\n title: '掌上重邮',\n subTitle: 'Handheld CQUPT',\n description: '重邮首款完美整合校园信息与生活的APP'\n },\n function: {\n kebiao: {\n title: '课表查询',\n description: '课程信息一目了然'\n },\n kongjiaoshi: {\n title: '空教室查询',\n description: '再也不缺自习好去处'\n },\n meikeyue: {\n title: '没课约',\n description: '课下安排轻松搞定'\n }\n },\n community: {\n title: '社区版聊',\n description: '各类问题轻松解决,在这里发现你的新圈子',\n question: {\n q1: {\n name: '黄**',\n text: '可以蹭课吗??怎么知道时间地点?'\n },\n q2: {\n name: '李**',\n text: '可以的。时间的话到掌上重邮查',\n time: '两分钟前'\n },\n q3: {\n name: '杨**',\n text: '上掌上重邮,课表查询',\n time: '十分钟前'\n },\n q4: {\n name: '陈**',\n text: '可以,问别人时间地点,找同学学姐',\n time: '十五分钟前'\n }\n }\n },\n schoolbus: {\n title: '校车轨迹',\n description: '即刻查询校车位置,减少不必要的等待时间'\n },\n query: {\n title: '一体化查询',\n description: '志愿时长,考试信息,学生名单,宿舍电费一键查询'\n },\n footer: {\n line1: '本网站由红岩网校工作站负责开发,管理,不经红岩网校委员会书面同意,不得进行转载',\n line2: '地址:重庆市南岸区崇文路2号(重庆邮电大学内) 400065 E-mail: redrock@cqupt.edu.cn (023-62461084)'\n },\n androidVersionTitle: 'Android版本',\n iphoneVersionTitle: 'iPhone版本',\n scan: '请用手机扫描二维码下载',\n version: '版本'\n}\n\nconst en = {\n language: 'en',\n download: 'DOWNLOAD',\n header: {\n home: 'Home',\n download: 'Downloads',\n redrock: 'Redrock',\n aboutus: 'About us'\n },\n sidebar: {\n home: 'Home',\n function: 'Basic functions',\n community: 'Community chat',\n schoolbus: 'School bus positioning',\n query: 'Integrated query'\n },\n index: {\n title: 'Handheld CQUPT',\n subTitle: '',\n description: `CQUPT's first APP that perfectly integrates campus information and life`\n },\n function: {\n kebiao: {\n title: 'Class schedule inquiry',\n description: 'Course information at a glance'\n },\n kongjiaoshi: {\n title: 'Empty classroom inquiry',\n description: 'There will be no shortage of places to learn.'\n },\n meikeyue: {\n title: 'Have time to play together',\n description: 'The easier arrangement after class'\n }\n },\n community: {\n title: 'Community chat',\n description: 'Easy to solve all kinds of problems, find your new circle here',\n question: {\n q1: {\n name: 'Linda',\n text: 'How to check the class schedule?'\n },\n q2: {\n name: 'Joan',\n text: 'Use Handheld CQUPT to query.',\n time: '2 minutes ago'\n },\n q3: {\n name: 'Kris',\n text: 'Handheld CQUPT has this feature.',\n time: '10 minutes ago'\n },\n q4: {\n name: 'Lee',\n text: 'Go ask your classmates.',\n time: '15 minutes ago'\n }\n }\n },\n schoolbus: {\n title: 'School bus positioning',\n description: 'The location of school buses is immediately queried to reduce unnecessary waiting times'\n },\n query: {\n title: 'Integrated query',\n description: 'Volunteer time, exam information, student list, dormitory electricity fee, one-click inquiry'\n },\n footer: {\n line1: `Copyright © ${new Date().getFullYear()} Redrock`,\n line2: 'Address: 2 Chongwen Rd, HuangJueYa, Nanan Qu, Chongqing Shi, China, 400065 E-mail: redrock@cqupt.edu.cn (023-62461084)'\n },\n androidVersionTitle: 'For Android',\n iphoneVersionTitle: 'For iPhone',\n scan: 'Scan the QR code to download',\n version: 'Version'\n}\n\nexport default {\n cn: cn,\n en: Object.assign({}, cn, en)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/mobx/data.js","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../mobx/store';\nimport './index.less'\nimport Index from '../../components/pages/Index'\nimport Function from '../../components/pages/Function'\nimport Community from '../../components/pages/Community'\nimport Query from '../../components/pages/Query'\nimport Schoolbus from '../../components/pages/Schoolbus'\nimport Sidebar from '../../components/Sidebar'\n\n@inject('store')\n@observer\nexport default class Home extends React.Component {\n state = {\n currentIndex: 1,\n isScrolling: false\n }\n render() {\n return (\n
\n \n \n \n \n \n \n
\n )\n }\n\n componentWillMount() {\n store.changePath('/')\n }\n\n componentDidMount() {\n window.onmousewheel = e => {\n e.stopPropagation()\n e.preventDefault()\n \n if (e.wheelDelta < -30 && !this.state.isScrolling) {\n if (this.state.currentIndex === 5) return\n this.setState(prevState => ({\n currentIndex: prevState.currentIndex + 1,\n isScrolling: true\n }))\n\n setTimeout(() => {\n this.setState({\n isScrolling: false\n })\n }, 1000)\n }\n else if (e.wheelDelta > 30 && !this.state.isScrolling) {\n if (this.state.currentIndex === 1) return\n this.setState(prevState => ({\n currentIndex: prevState.currentIndex - 1,\n isScrolling: true\n }))\n\n setTimeout(() => {\n this.setState({\n isScrolling: false\n })\n }, 1000)\n }\n }\n }\n\n changeClass = index => {\n if (this.state.currentIndex === index) {\n return 'currentPage'\n }\n else if (this.state.currentIndex > index) {\n return 'prePage'\n }\n else if (this.state.currentIndex < index){\n return 'nextPage'\n }\n }\n\n changeIndex = index => {\n this.setState({\n currentIndex: index\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/Home/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport { Link } from 'react-router-dom'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Index extends React.Component {\n render() {\n return (\n
\n
\n
\n
\n

{store.language.index.title}

\n

{store.language.index.subTitle}

\n

{store.language.index.description}

\n \n
\n
\n
this.props.onClicked(2)}>
\n
\n )\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/pages/Index/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Function extends React.Component {\n state = {\n completed: false\n }\n render() {\n return (\n
\n
\n
\n
\n

{store.language.function.kebiao.title}

\n

{store.language.function.kebiao.description}

\n
\n
\n
\n

{store.language.function.kongjiaoshi.title}

\n

{store.language.function.kongjiaoshi.description}

\n
\n
\n
\n

{store.language.function.meikeyue.title}

\n

{store.language.function.meikeyue.description}

\n
\n
\n
\n )\n }\n\n componentWillReceiveProps = nextProps => {\n if (nextProps.className === 'currentPage') {\n this.setState({\n completed: true\n })\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/pages/Function/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Community extends React.Component {\n state = {\n completed: false\n }\n render() {\n return (\n
\n
\n
\n
\n
\n
\n
{store.language.community.question.q1.name}
\n
\n
\n {store.language.community.question.q1.text}\n
\n
\n
\n
\n
\n
{store.language.community.question.q2.name}
\n
\n
\n {store.language.community.question.q2.text}\n
\n
{store.language.community.question.q2.time}
\n
\n
\n
\n
\n
{store.language.community.question.q3.name}
\n
\n
\n {store.language.community.question.q3.text}\n
\n
{store.language.community.question.q3.time}
\n
\n
\n
\n
\n
{store.language.community.question.q4.name}
\n
\n
\n {store.language.community.question.q4.text}\n
\n
{store.language.community.question.q4.time}
\n
\n
\n
\n

{store.language.community.title}

\n

{store.language.community.description}

\n
\n
\n
\n
\n
\n
\n )\n }\n\n componentWillReceiveProps = nextProps => {\n if (nextProps.className === 'currentPage') {\n this.setState({\n completed: true\n })\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/pages/Community/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport Footer from '../../../components/Layout/Footer'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Query extends React.Component {\n state = {\n completed: false\n }\n render() {\n return (\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

{store.language.query.title}

\n

{store.language.query.description}

\n
\n
\n
\n
\n
\n
\n
\n )\n }\n\n componentWillReceiveProps = nextProps => {\n if (nextProps.className === 'currentPage') {\n this.setState({\n completed: true\n })\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/pages/Query/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../../mobx/store'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Schoolbus extends React.Component {\n state = {\n completed: false\n }\n render() {\n return (\n
\n
\n
\n

{store.language.schoolbus.title}

\n

{store.language.schoolbus.description}

\n
\n
\n
\n
\n
\n
\n
\n )\n }\n\n componentWillReceiveProps = nextProps => {\n if (nextProps.className === 'currentPage') {\n this.setState({\n completed: true\n })\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/pages/Schoolbus/index.jsx","import React from 'react'\nimport { observer, inject } from 'mobx-react'\nimport store from '../../mobx/store'\nimport './index.less'\n\n@inject('store')\n@observer\nexport default class Query extends React.Component {\n render() {\n return (\n
\n
this.props.onClicked(1)}>\n

{store.language.sidebar.home}

\n
\n
this.props.onClicked(2)}>\n

{store.language.sidebar.function}

\n
\n
this.props.onClicked(3)}>\n

{store.language.sidebar.community}

\n
\n
this.props.onClicked(4)}>\n

{store.language.sidebar.schoolbus}

\n
\n
this.props.onClicked(5)}>\n

{store.language.sidebar.query}

\n
\n
\n )\n }\n\n changeActiveClass = index => this.props.index === index ? 'side-link side-link-active' : 'side-link'\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/components/Sidebar/index.jsx","import React from 'react';\nimport QRCode from 'qrcode.react';\nimport { observer, inject } from 'mobx-react';\nimport store from '../../mobx/store';\nimport Footer from '../../components/Layout/Footer';\nimport './index.less';\n\n@inject('store')\n@observer\nexport default class Download extends React.Component {\n state = {\n androidVersion: '6.7.0',\n iosVersion: '6.4.4',\n androidLink:\n 'https://cdn.redrock.team/app/掌上重邮-6.7.0-official-release-20231006-17.apk',\n iosLink:\n 'https://itunes.apple.com/cn/app/zhang-shang-zhong-you/id974026615',\n };\n\n render() {\n console.log(store.language.download);\n return (\n
\n
\n
\n
\n
\n

\n {store.language.androidVersionTitle}\n

\n

{`${store.language.version} ${this.state.androidVersion}`}

\n

\n \n

\n
\n \n \n \n
\n
\n
\n
\n

\n {store.language.iphoneVersionTitle}\n

\n

{`${store.language.version} ${this.state.iosVersion}`}

\n

\n {' '}\n \n

\n
\n \n \n \n
\n
\n
\n );\n }\n\n componentWillMount() {\n store.changePath('/download');\n }\n\n componentDidMount = () => {\n const androidUrl = '/cyxbsAppUpdate.json';\n const appleUrl = '/cyxbsApple.json';\n\n fetch(androidUrl)\n .then((res) => res.json())\n .then((result) => {\n console.log(result);\n this.setState({\n androidVersion: result.version_name,\n androidLink:\n result.apk_url ||\n 'https://cdn.redrock.team/app/掌上重邮-6.6.0-official-release-20231006-17.apk',\n });\n })\n .catch(() => {\n console.log(this.state);\n console.log('Failed to connect');\n });\n\n fetch(appleUrl)\n .then((res) => res.json())\n .then((result) => {\n console.log(result);\n this.setState({\n iosVersion: result.version,\n // iosLink: result.apple_url\n });\n })\n .catch(() => {\n console.log(this.state);\n console.log('Failed to connect');\n });\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/Download/index.jsx","'use strict';\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar _excluded = [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"style\", \"includeMargin\", \"imageSettings\"],\n _excluded2 = [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"includeMargin\", \"imageSettings\"],\n _excluded3 = [\"renderAs\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types'); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = require('qr.js/lib/QRCode');\n\nvar ErrorCorrectLevel = require('qr.js/lib/ErrorCorrectLevel'); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n var out = '';\n\n for (var i = 0; i < str.length; i++) {\n var charcode = str.charCodeAt(i);\n\n if (charcode < 0x0080) {\n out += String.fromCharCode(charcode);\n } else if (charcode < 0x0800) {\n out += String.fromCharCode(0xc0 | charcode >> 6);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n out += String.fromCharCode(0xe0 | charcode >> 12);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else {\n // This is a surrogate pair, so we'll reconsitute the pieces and work\n // from that\n i++;\n charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n out += String.fromCharCode(0xf0 | charcode >> 18);\n out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n }\n }\n\n return out;\n}\n\nvar DEFAULT_PROPS = {\n size: 128,\n level: 'L',\n bgColor: '#FFFFFF',\n fgColor: '#000000',\n includeMargin: false\n};\nvar PROP_TYPES = process.env.NODE_ENV !== 'production' ? {\n value: PropTypes.string.isRequired,\n size: PropTypes.number,\n level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n bgColor: PropTypes.string,\n fgColor: PropTypes.string,\n includeMargin: PropTypes.bool,\n imageSettings: PropTypes.shape({\n src: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n excavate: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number\n })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n\n return false;\n });\n });\n}\n\nfunction getImageSettings(props, cells) {\n var imageSettings = props.imageSettings,\n size = props.size,\n includeMargin = props.includeMargin;\n\n if (imageSettings == null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n var scale = numCells / size;\n var w = (imageSettings.width || defaultSize) * scale;\n var h = (imageSettings.height || defaultSize) * scale;\n var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n var excavation = null;\n\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = {\n x: floorX,\n y: floorY,\n w: ceilW,\n h: ceilH\n };\n }\n\n return {\n x: x,\n y: y,\n h: h,\n w: w,\n excavation: excavation\n };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n\n return true;\n}();\n\nvar QRCodeCanvas = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(QRCodeCanvas, _React$PureComponent);\n\n var _super = _createSuper(QRCodeCanvas);\n\n function QRCodeCanvas() {\n var _this;\n\n _classCallCheck(this, QRCodeCanvas);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n imgLoaded: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n _this.setState({\n imgLoaded: true\n });\n });\n\n return _this;\n }\n\n _createClass(QRCodeCanvas, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this._image && this._image.complete) {\n this.handleImageLoad();\n }\n\n this.update();\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this$props$imageSett, _nextProps$imageSetti;\n\n var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n if (currentSrc !== nextSrc) {\n this.setState({\n imgLoaded: false\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var _this$props = this.props,\n value = _this$props.value,\n size = _this$props.size,\n level = _this$props.level,\n bgColor = _this$props.bgColor,\n fgColor = _this$props.fgColor,\n includeMargin = _this$props.includeMargin,\n imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n\n if (this._canvas != null) {\n var canvas = this._canvas;\n var ctx = canvas.getContext('2d');\n\n if (!ctx) {\n return;\n }\n\n var cells = qrcode.modules;\n\n if (cells === null) {\n return;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n } // We're going to scale this so that the number of drawable units\n // matches the number of cells. This avoids rounding issues, but does\n // result in some potentially unwanted single pixel issues between\n // blocks, only in environments that don't support Path2D.\n\n\n var pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n var scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n\n if (SUPPORTS_PATH2D) {\n // $FlowFixMe: Path2D c'tor doesn't support args yet.\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n\n if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n value = _this$props2.value,\n size = _this$props2.size,\n level = _this$props2.level,\n bgColor = _this$props2.bgColor,\n fgColor = _this$props2.fgColor,\n style = _this$props2.style,\n includeMargin = _this$props2.includeMargin,\n imageSettings = _this$props2.imageSettings,\n otherProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var canvasStyle = _objectSpread({\n height: size,\n width: size\n }, style);\n\n var img = null;\n var imgSrc = imageSettings && imageSettings.src;\n\n if (imageSettings != null && imgSrc != null) {\n img = /*#__PURE__*/React.createElement(\"img\", {\n src: imgSrc,\n style: {\n display: 'none'\n },\n onLoad: this.handleImageLoad,\n ref: function ref(_ref) {\n return _this2._image = _ref;\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"canvas\", _extends({\n style: canvasStyle,\n height: size,\n width: size,\n ref: function ref(_ref2) {\n return _this2._canvas = _ref2;\n }\n }, otherProps)), img);\n }\n }]);\n\n return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(QRCodeSVG, _React$PureComponent2);\n\n var _super2 = _createSuper(QRCodeSVG);\n\n function QRCodeSVG() {\n _classCallCheck(this, QRCodeSVG);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(QRCodeSVG, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n size = _this$props3.size,\n level = _this$props3.level,\n bgColor = _this$props3.bgColor,\n fgColor = _this$props3.fgColor,\n includeMargin = _this$props3.includeMargin,\n imageSettings = _this$props3.imageSettings,\n otherProps = _objectWithoutProperties(_this$props3, _excluded2); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n var cells = qrcode.modules;\n\n if (cells === null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n var image = null;\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n\n image = /*#__PURE__*/React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n } // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n\n var fgPath = generatePath(cells, margin);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n shapeRendering: \"crispEdges\",\n height: size,\n width: size,\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n }, otherProps), /*#__PURE__*/React.createElement(\"path\", {\n fill: bgColor,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath\n }), image);\n }\n }]);\n\n return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n var renderAs = props.renderAs,\n otherProps = _objectWithoutProperties(props, _excluded3);\n\n var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n return /*#__PURE__*/React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qrcode.react/lib/index.js\n// module id = 85\n// module chunks = 0","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/QRCode.js\n// module id = 86\n// module chunks = 0","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/8BitByte.js\n// module id = 87\n// module chunks = 0","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/RSBlock.js\n// module id = 88\n// module chunks = 0","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/BitBuffer.js\n// module id = 89\n// module chunks = 0","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/qr.js/lib/util.js\n// module id = 90\n// module chunks = 0"],"sourceRoot":""}