Mercurial > repos > fubar > jbrowse2
view x/static/js/3301.db457761.chunk.js.map @ 125:49f3d3878413 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 5ea1f9c1eef1de76232e69aa6d34cda77d90d566
author | fubar |
---|---|
date | Sat, 05 Oct 2024 23:58:05 +0000 |
parents | |
children |
line wrap: on
line source
{"version":3,"file":"static/js/3301.db457761.chunk.js","mappings":"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Aa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG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","sources":["../../../node_modules/stylis/src/Utility.js","../../../node_modules/stylis/src/Tokenizer.js","../../../node_modules/stylis/src/Enum.js","../../../node_modules/stylis/src/Serializer.js","../../../node_modules/stylis/src/Parser.js","../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../node_modules/stylis/src/Middleware.js","../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js","../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../node_modules/@mui/material/CssBaseline/CssBaseline.js","../../../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","../../../node_modules/@mui/material/colors/blue.js","../../../node_modules/@mui/material/colors/green.js","../../../node_modules/@mui/material/colors/grey.js","../../../node_modules/@mui/material/colors/orange.js","../../../node_modules/@mui/material/colors/red.js","../../../node_modules/@mui/material/styles/createColorScheme.js","../../../node_modules/@mui/material/styles/createMixins.js","../../../node_modules/@mui/material/colors/common.js","../../../node_modules/@mui/material/colors/purple.js","../../../node_modules/@mui/material/colors/lightBlue.js","../../../node_modules/@mui/material/styles/createPalette.js","../../../node_modules/@mui/material/styles/createTheme.js","../../../node_modules/@mui/material/styles/shadows.js","../../../node_modules/@mui/material/styles/zIndex.js","../../../node_modules/@mui/material/styles/createThemeNoVars.js","../../../node_modules/@mui/system/cssVars/createGetCssVar.js","../../../node_modules/@mui/system/cssVars/prepareTypographyVars.js","../../../node_modules/@mui/system/cssVars/cssVarsParser.js","../../../node_modules/@mui/system/cssVars/prepareCssVars.js","../../../node_modules/@mui/material/styles/createGetSelector.js","../../../node_modules/@mui/material/styles/stringifyTheme.js","../../../node_modules/@mui/material/styles/createThemeWithVars.js","../../../node_modules/@mui/system/cssVars/getColorSchemeSelector.js","../../../node_modules/@mui/material/styles/createTransitions.js","../../../node_modules/@mui/material/styles/createTypography.js","../../../node_modules/@mui/material/styles/defaultTheme.js","../../../node_modules/@mui/material/styles/excludeVariablesFromRoot.js","../../../node_modules/@mui/material/styles/getOverlayAlpha.js","../../../node_modules/@mui/material/styles/identifier.js","../../../node_modules/@mui/material/styles/rootShouldForwardProp.js","../../../node_modules/@mui/material/styles/shouldSkipGeneratingVar.js","../../../node_modules/@mui/material/styles/slotShouldForwardProp.js","../../../node_modules/@mui/material/styles/styled.js","../../../node_modules/@mui/material/utils/capitalize.js","../../../node_modules/@mui/material/utils/createSimplePaletteValueFilter.js","../../../node_modules/@mui/material/utils/memoTheme.js","../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../../../node_modules/@mui/styled-engine/index.js","../../../node_modules/@mui/system/DefaultPropsProvider/DefaultPropsProvider.js","../../../node_modules/@mui/system/breakpoints/breakpoints.js","../../../node_modules/@mui/system/colorManipulator/colorManipulator.js","../../../node_modules/@mui/system/createBreakpoints/createBreakpoints.js","../../../node_modules/@mui/system/createStyled/createStyled.js","../../../node_modules/@mui/system/createTheme/createSpacing.js","../../../node_modules/@mui/system/createTheme/shape.js","../../../node_modules/@mui/system/createTheme/applyStyles.js","../../../node_modules/@mui/system/createTheme/createTheme.js","../../../node_modules/@mui/system/cssContainerQueries/cssContainerQueries.js","../../../node_modules/@mui/system/merge/merge.js","../../../node_modules/@mui/system/spacing/spacing.js","../../../node_modules/@mui/system/memoize/memoize.js","../../../node_modules/@mui/system/style/style.js","../../../node_modules/@mui/system/compose/compose.js","../../../node_modules/@mui/system/borders/borders.js","../../../node_modules/@mui/system/cssGrid/cssGrid.js","../../../node_modules/@mui/system/palette/palette.js","../../../node_modules/@mui/system/sizing/sizing.js","../../../node_modules/@mui/system/styleFunctionSx/defaultSxConfig.js","../../../node_modules/@mui/system/styleFunctionSx/styleFunctionSx.js","../../../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../../../node_modules/@mui/utils/esm/capitalize/capitalize.js","../../../node_modules/@mui/utils/esm/clamp/clamp.js","../../../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../../../node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../../../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../../../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../../../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../../../node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../../../node_modules/deepmerge/dist/cjs.js","../../../node_modules/generic-filehandle/src/remoteFile.ts","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../../node_modules/mobx-react-lite/src/observer.ts","../../../node_modules/mobx-state-tree/dist/mobx-state-tree.module.js","../../../node_modules/mobx/src/errors.ts","../../../node_modules/mobx/src/utils/global.ts","../../../node_modules/mobx/src/utils/utils.ts","../../../node_modules/mobx/src/api/decorators.ts","../../../node_modules/mobx/src/types/overrideannotation.ts","../../../node_modules/mobx/src/core/atom.ts","../../../node_modules/mobx/src/utils/comparer.ts","../../../node_modules/mobx/src/types/modifiers.ts","../../../node_modules/mobx/src/types/actionannotation.ts","../../../node_modules/mobx/src/types/flowannotation.ts","../../../node_modules/mobx/src/types/computedannotation.ts","../../../node_modules/mobx/src/types/observableannotation.ts","../../../node_modules/mobx/src/types/autoannotation.ts","../../../node_modules/mobx/src/api/observable.ts","../../../node_modules/mobx/src/types/dynamicobject.ts","../../../node_modules/mobx/src/api/computed.ts","../../../node_modules/mobx/src/core/action.ts","../../../node_modules/mobx/src/types/observablevalue.ts","../../../node_modules/mobx/src/core/computedvalue.ts","../../../node_modules/mobx/src/core/observable.ts","../../../node_modules/mobx/src/core/derivation.ts","../../../node_modules/mobx/src/core/globalstate.ts","../../../node_modules/mobx/src/core/reaction.ts","../../../node_modules/mobx/src/core/spy.ts","../../../node_modules/mobx/src/api/action.ts","../../../node_modules/mobx/src/api/autorun.ts","../../../node_modules/mobx/src/api/become-observed.ts","../../../node_modules/mobx/src/api/configure.ts","../../../node_modules/mobx/src/api/extendobservable.ts","../../../node_modules/mobx/src/api/extras.ts","../../../node_modules/mobx/src/api/flow.ts","../../../node_modules/mobx/src/api/intercept-read.ts","../../../node_modules/mobx/src/api/intercept.ts","../../../node_modules/mobx/src/api/iscomputed.ts","../../../node_modules/mobx/src/api/isobservable.ts","../../../node_modules/mobx/src/api/object-api.ts","../../../node_modules/mobx/src/api/observe.ts","../../../node_modules/mobx/src/api/tojs.ts","../../../node_modules/mobx/src/api/trace.ts","../../../node_modules/mobx/src/api/transaction.ts","../../../node_modules/mobx/src/api/when.ts","../../../node_modules/mobx/src/types/intercept-utils.ts","../../../node_modules/mobx/src/types/listen-utils.ts","../../../node_modules/mobx/src/api/makeObservable.ts","../../../node_modules/mobx/src/types/observablearray.ts","../../../node_modules/mobx/src/types/observablemap.ts","../../../node_modules/mobx/src/types/observableset.ts","../../../node_modules/mobx/src/types/observableobject.ts","../../../node_modules/mobx/src/types/legacyobservablearray.ts","../../../node_modules/mobx/src/types/type-utils.ts","../../../node_modules/mobx/src/utils/eq.ts","../../../node_modules/mobx/src/utils/iterable.ts","../../../node_modules/mobx/src/mobx.ts","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/index.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/index.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context<EmotionCache | null> */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* <Props, Ref: React.Ref<*>> */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent<Props> */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* <Config: {}> */\n(Component\n/*: React.AbstractComponent<Config> */\n)\n/*: React.AbstractComponent<$Diff<Config, { theme: Object }>> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* <any, any> */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array<ClassNameArg>\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array<ClassNameArg> */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array<any>) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array<ClassNameArg>) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent<Props>*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n }\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalCss } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\n\n// to determine if the global styles are static or dynamic\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst isDynamicSupport = typeof globalCss({}) === 'function';\nexport const html = (theme, enableColorScheme) => ({\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box',\n // Fix font resize problem in iOS\n WebkitTextSizeAdjust: '100%',\n // When used under CssVarsProvider, colorScheme should not be applied dynamically because it will generate the stylesheet twice for server-rendered applications.\n ...(enableColorScheme && !theme.vars && {\n colorScheme: theme.palette.mode\n })\n});\nexport const body = theme => ({\n color: (theme.vars || theme).palette.text.primary,\n ...theme.typography.body1,\n backgroundColor: (theme.vars || theme).palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: (theme.vars || theme).palette.common.white\n }\n});\nexport const styles = (theme, enableColorScheme = false) => {\n const colorSchemeStyles = {};\n if (enableColorScheme && theme.colorSchemes && typeof theme.getColorSchemeSelector === 'function') {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n const selector = theme.getColorSchemeSelector(key);\n if (selector.startsWith('@')) {\n // for @media (prefers-color-scheme), we need to target :root\n colorSchemeStyles[selector] = {\n ':root': {\n colorScheme: scheme.palette?.mode\n }\n };\n } else {\n // else, it's likely that the selector already target an element with a class or data attribute\n colorSchemeStyles[selector.replace(/\\s*&/, '')] = {\n colorScheme: scheme.palette?.mode\n };\n }\n });\n }\n let defaultStyles = {\n html: html(theme, enableColorScheme),\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: {\n margin: 0,\n // Remove the margin in all browsers.\n ...body(theme),\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: (theme.vars || theme).palette.background.default\n }\n },\n ...colorSchemeStyles\n };\n const themeOverrides = theme.components?.MuiCssBaseline?.styleOverrides;\n if (themeOverrides) {\n defaultStyles = [defaultStyles, themeOverrides];\n }\n return defaultStyles;\n};\n\n// `ecs` stands for enableColorScheme. This is internal logic to make it work with Pigment CSS, so shorter is better.\nconst SELECTOR = 'mui-ecs';\nconst staticStyles = theme => {\n const result = styles(theme, false);\n const baseStyles = Array.isArray(result) ? result[0] : result;\n if (!theme.vars && baseStyles) {\n baseStyles.html[`:root:has(${SELECTOR})`] = {\n colorScheme: theme.palette.mode\n };\n }\n if (theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n const selector = theme.getColorSchemeSelector(key);\n if (selector.startsWith('@')) {\n // for @media (prefers-color-scheme), we need to target :root\n baseStyles[selector] = {\n [`:root:not(:has(.${SELECTOR}))`]: {\n colorScheme: scheme.palette?.mode\n }\n };\n } else {\n // else, it's likely that the selector already target an element with a class or data attribute\n baseStyles[selector.replace(/\\s*&/, '')] = {\n [`&:not(:has(.${SELECTOR}))`]: {\n colorScheme: scheme.palette?.mode\n }\n };\n }\n });\n }\n return result;\n};\nconst GlobalStyles = globalCss(isDynamicSupport ? ({\n theme,\n enableColorScheme\n}) => styles(theme, enableColorScheme) : ({\n theme\n}) => staticStyles(theme));\n\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\nfunction CssBaseline(inProps) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCssBaseline'\n });\n const {\n children,\n enableColorScheme = false\n } = props;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [isDynamicSupport && /*#__PURE__*/_jsx(GlobalStyles, {\n enableColorScheme: enableColorScheme\n }), !isDynamicSupport && !enableColorScheme && /*#__PURE__*/_jsx(\"span\", {\n className: SELECTOR,\n style: {\n display: 'none'\n }\n }), children]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n * @default false\n */\n enableColorScheme: PropTypes.bool\n} : void 0;\nexport default CssBaseline;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","import createPalette from \"./createPalette.js\";\nimport getOverlayAlpha from \"./getOverlayAlpha.js\";\nconst defaultDarkOverlays = [...Array(25)].map((_, index) => {\n if (index === 0) {\n return 'none';\n }\n const overlay = getOverlayAlpha(index);\n return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;\n});\nexport function getOpacity(mode) {\n return {\n inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,\n inputUnderline: mode === 'dark' ? 0.7 : 0.42,\n switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,\n switchTrack: mode === 'dark' ? 0.3 : 0.38\n };\n}\nexport function getOverlays(mode) {\n return mode === 'dark' ? defaultDarkOverlays : [];\n}\nexport default function createColorScheme(options) {\n const {\n palette: paletteInput = {\n mode: 'light'\n },\n // need to cast to avoid module augmentation test\n opacity,\n overlays,\n ...rest\n } = options;\n const palette = createPalette(paletteInput);\n return {\n palette,\n opacity: {\n ...getOpacity(palette.mode),\n ...opacity\n },\n overlays: overlays || getOverlays(palette.mode),\n ...rest\n };\n}","export default function createMixins(breakpoints, mixins) {\n return {\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n },\n ...mixins\n };\n}","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from \"../colors/common.js\";\nimport grey from \"../colors/grey.js\";\nimport purple from \"../colors/purple.js\";\nimport red from \"../colors/red.js\";\nimport orange from \"../colors/orange.js\";\nimport blue from \"../colors/blue.js\";\nimport lightBlue from \"../colors/lightBlue.js\";\nimport green from \"../colors/green.js\";\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2,\n ...other\n } = palette;\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = {\n ...color\n };\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge({\n // A collection of common colors.\n common: {\n ...common\n },\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset,\n // The light and dark mode object.\n ...modes[mode]\n }, other);\n return paletteOutput;\n}","import createPalette from \"./createPalette.js\";\nimport createThemeWithVars from \"./createThemeWithVars.js\";\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nexport { createMuiTheme } from \"./createThemeNoVars.js\";\n// eslint-disable-next-line consistent-return\nfunction attachColorScheme(theme, scheme, colorScheme) {\n if (!theme.colorSchemes) {\n return undefined;\n }\n if (colorScheme) {\n theme.colorSchemes[scheme] = {\n ...(colorScheme !== true && colorScheme),\n palette: createPalette({\n ...(colorScheme === true ? {} : colorScheme.palette),\n mode: scheme\n }) // cast type to skip module augmentation test\n };\n }\n}\n\n/**\n * Generate a theme base on the options received.\n * @param options Takes an incomplete theme object and adds the missing parts.\n * @param args Deep merge the arguments with the about to be returned theme.\n * @returns A complete, ready-to-use theme object.\n */\nexport default function createTheme(options = {},\n// cast type to skip module augmentation test\n...args) {\n const {\n palette,\n cssVariables = false,\n colorSchemes: initialColorSchemes = !palette ? {\n light: true\n } : undefined,\n defaultColorScheme: initialDefaultColorScheme = palette?.mode,\n ...rest\n } = options;\n const defaultColorSchemeInput = initialDefaultColorScheme || 'light';\n const defaultScheme = initialColorSchemes?.[defaultColorSchemeInput];\n const colorSchemesInput = {\n ...initialColorSchemes,\n ...(palette ? {\n [defaultColorSchemeInput]: {\n ...(typeof defaultScheme !== 'boolean' && defaultScheme),\n palette\n }\n } : undefined)\n };\n if (cssVariables === false) {\n if (!('colorSchemes' in options)) {\n // Behaves exactly as v5\n return createThemeNoVars(options, ...args);\n }\n let paletteOptions = palette;\n if (!('palette' in options)) {\n if (colorSchemesInput[defaultColorSchemeInput]) {\n if (colorSchemesInput[defaultColorSchemeInput] !== true) {\n paletteOptions = colorSchemesInput[defaultColorSchemeInput].palette;\n } else if (defaultColorSchemeInput === 'dark') {\n // @ts-ignore to prevent the module augmentation test from failing\n paletteOptions = {\n mode: 'dark'\n };\n }\n }\n }\n const theme = createThemeNoVars({\n ...options,\n palette: paletteOptions\n }, ...args);\n theme.defaultColorScheme = defaultColorSchemeInput;\n theme.colorSchemes = colorSchemesInput;\n if (theme.palette.mode === 'light') {\n theme.colorSchemes.light = {\n ...(colorSchemesInput.light !== true && colorSchemesInput.light),\n palette: theme.palette\n };\n attachColorScheme(theme, 'dark', colorSchemesInput.dark);\n }\n if (theme.palette.mode === 'dark') {\n theme.colorSchemes.dark = {\n ...(colorSchemesInput.dark !== true && colorSchemesInput.dark),\n palette: theme.palette\n };\n attachColorScheme(theme, 'light', colorSchemesInput.light);\n }\n return theme;\n }\n if (!palette && !('light' in colorSchemesInput) && defaultColorSchemeInput === 'light') {\n colorSchemesInput.light = true;\n }\n return createThemeWithVars({\n ...rest,\n colorSchemes: colorSchemesInput,\n defaultColorScheme: defaultColorSchemeInput,\n ...(typeof cssVariables !== 'boolean' && cssVariables)\n }, ...args);\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from \"./createMixins.js\";\nimport createPalette from \"./createPalette.js\";\nimport createTypography from \"./createTypography.js\";\nimport shadows from \"./shadows.js\";\nimport createTransitions from \"./createTransitions.js\";\nimport zIndex from \"./zIndex.js\";\nfunction createThemeNoVars(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput,\n mixins: mixinsInput = {},\n spacing: spacingInput,\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {},\n shape: shapeInput,\n ...other\n } = options;\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(20));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: {\n ...zIndex\n }\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in\n for (key in node) {\n const child = node[key];\n if (stateClasses.includes(key) && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.startsWith('Mui')) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createThemeNoVars(...args);\n}\nexport default createThemeNoVars;","/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}","export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}","/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n const {\n getSelector = defaultGetSelector,\n disableCssColorScheme,\n colorSchemeSelector: selector\n } = parserConfig;\n // @ts-ignore - ignore components do not exist\n const {\n colorSchemes = {},\n components,\n defaultColorScheme = 'light',\n ...otherTheme\n } = theme;\n const {\n vars: rootVars,\n css: rootCss,\n varsWithDefaults: rootVarsWithDefaults\n } = cssVarsParser(otherTheme, parserConfig);\n let themeVars = rootVarsWithDefaults;\n const colorSchemesMap = {};\n const {\n [defaultColorScheme]: defaultScheme,\n ...otherColorSchemes\n } = colorSchemes;\n Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n const {\n vars,\n css,\n varsWithDefaults\n } = cssVarsParser(scheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[key] = {\n css,\n vars\n };\n });\n if (defaultScheme) {\n // default color scheme vars should be merged last to set as default\n const {\n css,\n vars,\n varsWithDefaults\n } = cssVarsParser(defaultScheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[defaultColorScheme] = {\n css,\n vars\n };\n }\n function defaultGetSelector(colorScheme, cssObject) {\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (colorScheme) {\n if (rule === 'media') {\n if (theme.defaultColorScheme === colorScheme) {\n return ':root';\n }\n const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n return {\n [`@media (prefers-color-scheme: ${mode})`]: {\n ':root': cssObject\n }\n };\n }\n if (rule) {\n if (theme.defaultColorScheme === colorScheme) {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n }\n const generateThemeVars = () => {\n let vars = {\n ...rootVars\n };\n Object.entries(colorSchemesMap).forEach(([, {\n vars: schemeVars\n }]) => {\n vars = deepmerge(vars, schemeVars);\n });\n return vars;\n };\n const generateStyleSheets = () => {\n const stylesheets = [];\n const colorScheme = theme.defaultColorScheme || 'light';\n function insertStyleSheet(key, css) {\n if (Object.keys(css).length) {\n stylesheets.push(typeof key === 'string' ? {\n [key]: {\n ...css\n }\n } : key);\n }\n }\n insertStyleSheet(getSelector(undefined, {\n ...rootCss\n }), rootCss);\n const {\n [colorScheme]: defaultSchemeVal,\n ...other\n } = colorSchemesMap;\n if (defaultSchemeVal) {\n // default color scheme has to come before other color schemes\n const {\n css\n } = defaultSchemeVal;\n const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(colorScheme, {\n ...finalCss\n }), finalCss);\n }\n Object.entries(other).forEach(([key, {\n css\n }]) => {\n const cssColorSheme = colorSchemes[key]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(key, {\n ...finalCss\n }), finalCss);\n });\n return stylesheets;\n };\n return {\n vars: themeVars,\n generateThemeVars,\n generateStyleSheets\n };\n}\nexport default prepareCssVars;","import excludeVariablesFromRoot from \"./excludeVariablesFromRoot.js\";\nexport default theme => (colorScheme, css) => {\n const selector = theme.colorSchemeSelector;\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (theme.defaultColorScheme === colorScheme) {\n if (colorScheme === 'dark') {\n const excludedVariables = {};\n excludeVariablesFromRoot(theme.cssVarPrefix).forEach(cssVar => {\n excludedVariables[cssVar] = css[cssVar];\n delete css[cssVar];\n });\n if (rule === 'media') {\n return {\n ':root': css,\n [`@media (prefers-color-scheme: dark)`]: {\n ':root': excludedVariables\n }\n };\n }\n if (rule) {\n return {\n [rule.replace('%s', colorScheme)]: excludedVariables,\n [`:root, ${rule.replace('%s', colorScheme)}`]: css\n };\n }\n return {\n ':root': {\n ...css,\n ...excludedVariables\n }\n };\n }\n if (rule && rule !== 'media') {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n } else if (colorScheme) {\n if (rule === 'media') {\n return {\n [`@media (prefers-color-scheme: ${String(colorScheme)})`]: {\n ':root': css\n }\n };\n }\n if (rule) {\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n};","/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme` or `extendTheme`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n * theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n const serializableTheme = {\n ...baseTheme\n };\n function serializeTheme(object) {\n const array = Object.entries(object);\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < array.length; index++) {\n const [key, value] = array[index];\n if (!isSerializable(value) || key.startsWith('unstable_')) {\n delete object[key];\n } else if (isPlainObject(value)) {\n object[key] = {\n ...value\n };\n serializeTheme(object[key]);\n }\n }\n }\n serializeTheme(serializableTheme);\n return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';\nimport { createUnarySpacing } from '@mui/system/spacing';\nimport { prepareCssVars, prepareTypographyVars, createGetColorSchemeSelector } from '@mui/system/cssVars';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nimport createColorScheme, { getOpacity, getOverlays } from \"./createColorScheme.js\";\nimport defaultShouldSkipGeneratingVar from \"./shouldSkipGeneratingVar.js\";\nimport defaultGetSelector from \"./createGetSelector.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction assignNode(obj, keys) {\n keys.forEach(k => {\n if (!obj[k]) {\n obj[k] = {};\n }\n });\n}\nfunction setColor(obj, key, defaultValue) {\n if (!obj[key] && defaultValue) {\n obj[key] = defaultValue;\n }\n}\nfunction toRgb(color) {\n if (!color || !color.startsWith('hsl')) {\n return color;\n }\n return hslToRgb(color);\n}\nfunction setColorChannel(obj, key) {\n if (!(`${key}Channel` in obj)) {\n // custom channel token is not provided, generate one.\n // if channel token can't be generated, show a warning.\n obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \\`palette.${key}Channel\\` because \\`palette.${key}\\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\\n' + `To suppress this warning, you need to explicitly provide the \\`palette.${key}Channel\\` as a string (in rgb format, for example \"12 12 12\") or undefined if you want to remove the channel token.`);\n }\n}\nfunction getSpacingVal(spacingInput) {\n if (typeof spacingInput === 'number') {\n return `${spacingInput}px`;\n }\n if (typeof spacingInput === 'string' || typeof spacingInput === 'function' || Array.isArray(spacingInput)) {\n return spacingInput;\n }\n return '8px';\n}\nconst silent = fn => {\n try {\n return fn();\n } catch (error) {\n // ignore error\n }\n return undefined;\n};\nexport const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);\nfunction attachColorScheme(colorSchemes, scheme, restTheme, colorScheme) {\n if (!scheme) {\n return undefined;\n }\n scheme = scheme === true ? {} : scheme;\n const mode = colorScheme === 'dark' ? 'dark' : 'light';\n if (!restTheme) {\n colorSchemes[colorScheme] = createColorScheme({\n ...scheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n return undefined;\n }\n const {\n palette,\n ...muiTheme\n } = createThemeNoVars({\n ...restTheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n colorSchemes[colorScheme] = {\n ...scheme,\n palette,\n opacity: {\n ...getOpacity(mode),\n ...scheme?.opacity\n },\n overlays: scheme?.overlays || getOverlays(mode)\n };\n return muiTheme;\n}\n\n/**\n * A default `createThemeWithVars` comes with a single color scheme, either `light` or `dark` based on the `defaultColorScheme`.\n * This is better suited for apps that only need a single color scheme.\n *\n * To enable built-in `light` and `dark` color schemes, either:\n * 1. provide a `colorSchemeSelector` to define how the color schemes will change.\n * 2. provide `colorSchemes.dark` will set `colorSchemeSelector: 'media'` by default.\n */\nexport default function createThemeWithVars(options = {}, ...args) {\n const {\n colorSchemes: colorSchemesInput = {\n light: true\n },\n defaultColorScheme: defaultColorSchemeInput,\n disableCssColorScheme = false,\n cssVarPrefix = 'mui',\n shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,\n colorSchemeSelector: selector = colorSchemesInput.light && colorSchemesInput.dark ? 'media' : undefined,\n ...input\n } = options;\n const firstColorScheme = Object.keys(colorSchemesInput)[0];\n const defaultColorScheme = defaultColorSchemeInput || (colorSchemesInput.light && firstColorScheme !== 'light' ? 'light' : firstColorScheme);\n const getCssVar = createGetCssVar(cssVarPrefix);\n const {\n [defaultColorScheme]: defaultSchemeInput,\n light: builtInLight,\n dark: builtInDark,\n ...customColorSchemes\n } = colorSchemesInput;\n const colorSchemes = {\n ...customColorSchemes\n };\n let defaultScheme = defaultSchemeInput;\n\n // For built-in light and dark color schemes, ensure that the value is valid if they are the default color scheme.\n if (defaultColorScheme === 'dark' && !('dark' in colorSchemesInput) || defaultColorScheme === 'light' && !('light' in colorSchemesInput)) {\n defaultScheme = true;\n }\n if (!defaultScheme) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`colorSchemes.${defaultColorScheme}\\` option is either missing or invalid.` : _formatMuiErrorMessage(21, defaultColorScheme));\n }\n\n // Create the palette for the default color scheme, either `light`, `dark`, or custom color scheme.\n const muiTheme = attachColorScheme(colorSchemes, defaultScheme, input, defaultColorScheme);\n if (builtInLight && !colorSchemes.light) {\n attachColorScheme(colorSchemes, builtInLight, undefined, 'light');\n }\n if (builtInDark && !colorSchemes.dark) {\n attachColorScheme(colorSchemes, builtInDark, undefined, 'dark');\n }\n let theme = {\n defaultColorScheme,\n ...muiTheme,\n cssVarPrefix,\n colorSchemeSelector: selector,\n getCssVar,\n colorSchemes,\n font: {\n ...prepareTypographyVars(muiTheme.typography),\n ...muiTheme.font\n },\n spacing: getSpacingVal(input.spacing)\n };\n Object.keys(theme.colorSchemes).forEach(key => {\n const palette = theme.colorSchemes[key].palette;\n const setCssVarColor = cssVar => {\n const tokens = cssVar.split('-');\n const color = tokens[1];\n const colorToken = tokens[2];\n return getCssVar(cssVar, palette[color][colorToken]);\n };\n\n // attach black & white channels to common node\n if (palette.mode === 'light') {\n setColor(palette.common, 'background', '#fff');\n setColor(palette.common, 'onBackground', '#000');\n }\n if (palette.mode === 'dark') {\n setColor(palette.common, 'background', '#000');\n setColor(palette.common, 'onBackground', '#fff');\n }\n\n // assign component variables\n assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);\n if (palette.mode === 'light') {\n setColor(palette.Alert, 'errorColor', safeDarken(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.main)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.main)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.main)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.main)));\n setColor(palette.Alert, 'errorStandardBg', safeLighten(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));\n setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeLighten(palette.primary.main, 0.62));\n setColor(palette.LinearProgress, 'secondaryBg', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.LinearProgress, 'errorBg', safeLighten(palette.error.main, 0.62));\n setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));\n setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));\n setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);\n setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));\n setColor(palette.Slider, 'infoTrack', safeLighten(palette.info.main, 0.62));\n setColor(palette.Slider, 'successTrack', safeLighten(palette.success.main, 0.62));\n setColor(palette.Slider, 'warningTrack', safeLighten(palette.warning.main, 0.62));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.8);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));\n setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));\n setColor(palette.Switch, 'infoDisabledColor', safeLighten(palette.info.main, 0.62));\n setColor(palette.Switch, 'successDisabledColor', safeLighten(palette.success.main, 0.62));\n setColor(palette.Switch, 'warningDisabledColor', safeLighten(palette.warning.main, 0.62));\n setColor(palette.TableCell, 'border', safeLighten(safeAlpha(palette.divider, 1), 0.88));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n if (palette.mode === 'dark') {\n setColor(palette.Alert, 'errorColor', safeLighten(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.dark)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.dark)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.dark)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.dark)));\n setColor(palette.Alert, 'errorStandardBg', safeDarken(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));\n setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode\n setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));\n setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeDarken(palette.primary.main, 0.5));\n setColor(palette.LinearProgress, 'secondaryBg', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.LinearProgress, 'errorBg', safeDarken(palette.error.main, 0.5));\n setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));\n setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));\n setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);\n setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));\n setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));\n setColor(palette.Slider, 'infoTrack', safeDarken(palette.info.main, 0.5));\n setColor(palette.Slider, 'successTrack', safeDarken(palette.success.main, 0.5));\n setColor(palette.Slider, 'warningTrack', safeDarken(palette.warning.main, 0.5));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.98);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));\n setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));\n setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));\n setColor(palette.Switch, 'infoDisabledColor', safeDarken(palette.info.main, 0.55));\n setColor(palette.Switch, 'successDisabledColor', safeDarken(palette.success.main, 0.55));\n setColor(palette.Switch, 'warningDisabledColor', safeDarken(palette.warning.main, 0.55));\n setColor(palette.TableCell, 'border', safeDarken(safeAlpha(palette.divider, 1), 0.68));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n\n // MUI X - DataGrid needs this token.\n setColorChannel(palette.background, 'default');\n\n // added for consistency with the `background.default` token\n setColorChannel(palette.background, 'paper');\n setColorChannel(palette.common, 'background');\n setColorChannel(palette.common, 'onBackground');\n setColorChannel(palette, 'divider');\n Object.keys(palette).forEach(color => {\n const colors = palette[color];\n\n // The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.\n\n if (colors && typeof colors === 'object') {\n // Silent the error for custom palettes.\n if (colors.main) {\n setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));\n }\n if (colors.light) {\n setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));\n }\n if (colors.dark) {\n setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));\n }\n if (colors.contrastText) {\n setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));\n }\n if (color === 'text') {\n // Text colors: text.primary, text.secondary\n setColorChannel(palette[color], 'primary');\n setColorChannel(palette[color], 'secondary');\n }\n if (color === 'action') {\n // Action colors: action.active, action.selected\n if (colors.active) {\n setColorChannel(palette[color], 'active');\n }\n if (colors.selected) {\n setColorChannel(palette[color], 'selected');\n }\n }\n }\n });\n });\n theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);\n const parserConfig = {\n prefix: cssVarPrefix,\n disableCssColorScheme,\n shouldSkipGeneratingVar,\n getSelector: defaultGetSelector(theme)\n };\n const {\n vars,\n generateThemeVars,\n generateStyleSheets\n } = prepareCssVars(theme, parserConfig);\n theme.vars = vars;\n Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {\n theme[key] = value;\n });\n theme.generateThemeVars = generateThemeVars;\n theme.generateStyleSheets = generateStyleSheets;\n theme.generateSpacing = function generateSpacing() {\n return createSpacing(input.spacing, createUnarySpacing(this));\n };\n theme.getColorSchemeSelector = createGetColorSchemeSelector(selector);\n theme.spacing = theme.generateSpacing();\n theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;\n theme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...input?.unstable_sxConfig\n };\n theme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return theme;\n}","/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}","// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.desmos.com/calculator/vbrp3ggqet\n return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = {\n ...easing,\n ...inputTransitions.easing\n };\n const mergedDuration = {\n ...duration,\n ...inputTransitions.duration\n };\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0,\n ...other\n } = options;\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n const isNumber = value => !Number.isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return {\n getAutoHeightDuration,\n create,\n ...inputTransitions,\n easing: mergedEasing,\n duration: mergedDuration\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2,\n ...other\n } = typeof typography === 'function' ? typography(palette) : typography;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight,\n // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing\n // across font-families can cause issues with the kerning.\n ...(fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}),\n ...casing,\n ...allVariants\n });\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold,\n ...variants\n }, other, {\n clone: false // No need to clone deep\n });\n}","'use client';\n\nimport createTheme from \"./createTheme.js\";\nconst defaultTheme = createTheme();\nexport default defaultTheme;","/**\n * @internal These variables should not appear in the :root stylesheet when the `defaultColorScheme=\"dark\"`\n */\nconst excludeVariablesFromRoot = cssVarPrefix => [...[...Array(25)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];\nexport default excludeVariablesFromRoot;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nexport default function getOverlayAlpha(elevation) {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return Math.round(alphaValue * 10) / 1000;\n}","export default '$$material';","import slotShouldForwardProp from \"./slotShouldForwardProp.js\";\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","export default function shouldSkipGeneratingVar(keys) {\n return !!keys[0].match(/(cssVarPrefix|colorSchemeSelector|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||\n // ends with sxConfig\n keys[0] === 'palette' && !!keys[1]?.match(/(mode|contrastThreshold|tonalOffset)/);\n}","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nimport rootShouldForwardProp from \"./rootShouldForwardProp.js\";\nexport { default as slotShouldForwardProp } from \"./slotShouldForwardProp.js\";\nexport { default as rootShouldForwardProp } from \"./rootShouldForwardProp.js\";\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","import capitalize from '@mui/utils/capitalize';\nexport default capitalize;","/**\n * Type guard to check if the object has a \"main\" property of type string.\n *\n * @param obj - the object to check\n * @returns boolean\n */\nfunction hasCorrectMainProperty(obj) {\n return typeof obj.main === 'string';\n}\n/**\n * Checks if the object conforms to the SimplePaletteColorOptions type.\n * The minimum requirement is that the object has a \"main\" property of type string, this is always checked.\n * Optionally, you can pass additional properties to check.\n *\n * @param obj - The object to check\n * @param additionalPropertiesToCheck - Array containing \"light\", \"dark\", and/or \"contrastText\"\n * @returns boolean\n */\nfunction checkSimplePaletteColorValues(obj, additionalPropertiesToCheck = []) {\n if (!hasCorrectMainProperty(obj)) {\n return false;\n }\n for (const value of additionalPropertiesToCheck) {\n if (!obj.hasOwnProperty(value) || typeof obj[value] !== 'string') {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Creates a filter function used to filter simple palette color options.\n * The minimum requirement is that the object has a \"main\" property of type string, this is always checked.\n * Optionally, you can pass additional properties to check.\n *\n * @param additionalPropertiesToCheck - Array containing \"light\", \"dark\", and/or \"contrastText\"\n * @returns ([, value]: [any, PaletteColorOptions]) => boolean\n */\nexport default function createSimplePaletteValueFilter(additionalPropertiesToCheck = []) {\n return ([, value]) => value && checkSimplePaletteColorValues(value, additionalPropertiesToCheck);\n}","// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return props => {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = styleFn(arg);\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array<any>\n\nexport type StyledElementType<Props> =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent<Props> = StatelessFunctionalComponent<Props> & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType<Props>,\n nextOptions?: StyledOptions\n ) => StyledComponent<Props>\n}\n\nexport type PrivateStyledComponent<Props> = StyledComponent<Props> & {\n __emotion_real: StyledComponent<Props>,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent<any> */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = <Props>(\n ...args: Interpolations\n) => StyledComponent<Props>\n\nexport type CreateStyled = {\n <Props>(\n tag: StyledElementType<Props>,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent<Props>,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function<Props>(): PrivateStyledComponent<Props> { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent<Props> */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType<Props> */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","/**\n * @mui/styled-engine v6.1.1\n *\n * @license MIT\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/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from \"./StyledEngineProvider/index.js\";\nexport { default as GlobalStyles } from \"./GlobalStyles/index.js\";","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}","/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction resolveTheme(themeId, theme, defaultTheme) {\n return isObjectEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nconst PROCESSED_PROPS = Symbol('mui.processed_props');\nfunction attachTheme(props, themeId, defaultTheme) {\n if (PROCESSED_PROPS in props) {\n return props[PROCESSED_PROPS];\n }\n const processedProps = {\n ...props,\n theme: resolveTheme(themeId, props.theme, defaultTheme)\n };\n props[PROCESSED_PROPS] = processedProps;\n processedProps[PROCESSED_PROPS] = processedProps;\n return processedProps;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction processStyle(style, props) {\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(subStyle, props));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n let result = otherStyles;\n let mergedState; // We might not need it, initalized lazily\n\n /* eslint-disable no-labels */\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (!Array.isArray(result)) {\n result = [result];\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n result.push(variant.style(mergedState));\n } else {\n result.push(variant.style);\n }\n }\n /* eslint-enable no-labels */\n\n return result;\n }\n return resolvedStyle;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(attachTheme(props, themeId, defaultTheme));\n };\n systemSx.__mui_systemSx = true;\n const styled = (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !style?.__mui_systemSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label,\n ...options\n });\n const transformStyleArg = style => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof style === 'function' && style.__emotion_real !== style || isPlainObject(style)) {\n return props => processStyle(style, attachTheme(props, themeId, defaultTheme));\n }\n return style;\n };\n const muiStyledResolver = (style, ...expressions) => {\n let transformedStyle = transformStyleArg(style);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(themeId, props.theme, defaultTheme);\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n const propsWithTheme = attachTheme(props, themeId, defaultTheme);\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(styleOverrides[slotKey], propsWithTheme);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(themeId, props.theme, defaultTheme);\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyle({\n variants: themeVariants\n }, attachTheme(props, themeId, defaultTheme));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(style) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyle = [...style, ...placeholders];\n transformedStyle.raw = [...style.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyle, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}","import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * <Box sx={theme => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@<breakpoint | number>\\` or \\`@<breakpoint | number>/<container>\\`.\nFor example, \\`@sm\\` or \\`@600\\` or \\`@40rem/sidebar\\`.` : _formatMuiErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}","// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n }\n }\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { Buffer } from 'buffer'\nimport {\n GenericFilehandle,\n FilehandleOptions,\n Stats,\n Fetcher,\n PolyfilledResponse,\n} from './filehandle'\n\nfunction getMessage(e: unknown) {\n const r =\n typeof e === 'object' && e !== null && 'message' in e\n ? (e.message as string)\n : `${e}`\n return r.replace(/\\.$/, '')\n}\n\nexport default class RemoteFile implements GenericFilehandle {\n protected url: string\n private _stat?: Stats\n private fetchImplementation: Fetcher\n private baseOverrides: any = {}\n\n private async getBufferFromResponse(\n response: PolyfilledResponse,\n ): Promise<Buffer> {\n const resp = await response.arrayBuffer()\n return Buffer.from(resp)\n }\n\n public constructor(source: string, opts: FilehandleOptions = {}) {\n this.url = source\n const fetch = opts.fetch || globalThis.fetch.bind(globalThis)\n if (!fetch) {\n throw new TypeError(\n `no fetch function supplied, and none found in global environment`,\n )\n }\n if (opts.overrides) {\n this.baseOverrides = opts.overrides\n }\n this.fetchImplementation = fetch\n }\n\n public async fetch(\n input: RequestInfo,\n init: RequestInit | undefined,\n ): Promise<PolyfilledResponse> {\n let response\n try {\n response = await this.fetchImplementation(input, init)\n } catch (e) {\n if (`${e}`.includes('Failed to fetch')) {\n // refetch to to help work around a chrome bug (discussed in\n // generic-filehandle issue #72) in which the chrome cache returns a\n // CORS error for content in its cache. see also\n // https://github.com/GMOD/jbrowse-components/pull/1511\n console.warn(\n `generic-filehandle: refetching ${input} to attempt to work around chrome CORS header caching bug`,\n )\n try {\n response = await this.fetchImplementation(input, {\n ...init,\n cache: 'reload',\n })\n } catch (e) {\n throw new Error(`${getMessage(e)} fetching ${input}`, { cause: e })\n }\n } else {\n throw new Error(`${getMessage(e)} fetching ${input}`, { cause: e })\n }\n }\n return response\n }\n\n public async read(\n buffer: Buffer,\n offset = 0,\n length: number,\n position = 0,\n opts: FilehandleOptions = {},\n ): Promise<{ bytesRead: number; buffer: Buffer }> {\n const { headers = {}, signal, overrides = {} } = opts\n if (length < Infinity) {\n headers.range = `bytes=${position}-${position + length}`\n } else if (length === Infinity && position !== 0) {\n headers.range = `bytes=${position}-`\n }\n const res = await this.fetch(this.url, {\n ...this.baseOverrides,\n ...overrides,\n headers: {\n ...headers,\n ...overrides.headers,\n ...this.baseOverrides.headers,\n },\n method: 'GET',\n redirect: 'follow',\n mode: 'cors',\n signal,\n })\n\n if (!res.ok) {\n throw new Error(`HTTP ${res.status} fetching ${this.url}`)\n }\n\n if ((res.status === 200 && position === 0) || res.status === 206) {\n const resData = await this.getBufferFromResponse(res)\n const bytesCopied = resData.copy(\n buffer,\n offset,\n 0,\n Math.min(length, resData.length),\n )\n\n // try to parse out the size of the remote file\n const contentRange = res.headers.get('content-range')\n const sizeMatch = /\\/(\\d+)$/.exec(contentRange || '')\n if (sizeMatch?.[1]) {\n this._stat = { size: parseInt(sizeMatch[1], 10) }\n }\n\n return { bytesRead: bytesCopied, buffer }\n }\n\n if (res.status === 200) {\n throw new Error(`${this.url} fetch returned status 200, expected 206`)\n }\n\n // TODO: try harder here to gather more information about what the problem is\n throw new Error(`HTTP ${res.status} fetching ${this.url}`)\n }\n\n public async readFile(): Promise<Buffer>\n public async readFile(options: BufferEncoding): Promise<string>\n public async readFile<T extends undefined>(\n options:\n | Omit<FilehandleOptions, 'encoding'>\n | (Omit<FilehandleOptions, 'encoding'> & { encoding: T }),\n ): Promise<Buffer>\n public async readFile<T extends BufferEncoding>(\n options: Omit<FilehandleOptions, 'encoding'> & { encoding: T },\n ): Promise<string>\n readFile<T extends BufferEncoding>(\n options: Omit<FilehandleOptions, 'encoding'> & { encoding: T },\n ): T extends BufferEncoding ? Promise<Buffer> : Promise<Buffer | string>\n public async readFile(\n options: FilehandleOptions | BufferEncoding = {},\n ): Promise<Buffer | string> {\n let encoding\n let opts\n if (typeof options === 'string') {\n encoding = options\n opts = {}\n } else {\n encoding = options.encoding\n opts = options\n delete opts.encoding\n }\n const { headers = {}, signal, overrides = {} } = opts\n const res = await this.fetch(this.url, {\n headers,\n method: 'GET',\n redirect: 'follow',\n mode: 'cors',\n signal,\n ...this.baseOverrides,\n ...overrides,\n })\n if (res.status !== 200) {\n throw new Error(`HTTP ${res.status} fetching ${this.url}`)\n }\n if (encoding === 'utf8') {\n return res.text()\n } else if (encoding) {\n throw new Error(`unsupported encoding: ${encoding}`)\n } else {\n return this.getBufferFromResponse(res)\n }\n }\n\n public async stat(): Promise<Stats> {\n if (!this._stat) {\n const buf = Buffer.allocUnsafe(10)\n await this.read(buf, 0, 10, 0)\n if (!this._stat) {\n throw new Error(`unable to determine size of file at ${this.url}`)\n }\n }\n return this._stat\n }\n\n public async close(): Promise<void> {\n return\n }\n}\n","'use strict';\n\nvar reactIs = require('react-is');\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 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};\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};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\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;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\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 = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.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 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,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { forwardRef, memo } from \"react\"\n\nimport { isUsingStaticRendering } from \"./staticRendering\"\nimport { useObserver } from \"./useObserver\"\n\nlet warnObserverOptionsDeprecated = true\n\nconst hasSymbol = typeof Symbol === \"function\" && Symbol.for\nconst isFunctionNameConfigurable =\n Object.getOwnPropertyDescriptor(() => {}, \"name\")?.configurable ?? false\n\n// Using react-is had some issues (and operates on elements, not on types), see #608 / #609\nconst ReactForwardRefSymbol = hasSymbol\n ? Symbol.for(\"react.forward_ref\")\n : typeof forwardRef === \"function\" && forwardRef((props: any) => null)[\"$$typeof\"]\n\nconst ReactMemoSymbol = hasSymbol\n ? Symbol.for(\"react.memo\")\n : typeof memo === \"function\" && memo((props: any) => null)[\"$$typeof\"]\n\nexport interface IObserverOptions {\n readonly forwardRef?: boolean\n}\n\nexport function observer<P extends object, TRef = {}>(\n baseComponent: React.ForwardRefRenderFunction<TRef, P>,\n options: IObserverOptions & { forwardRef: true }\n): React.MemoExoticComponent<\n React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<TRef>>\n>\n\nexport function observer<P extends object, TRef = {}>(\n baseComponent: React.ForwardRefExoticComponent<\n React.PropsWithoutRef<P> & React.RefAttributes<TRef>\n >\n): React.MemoExoticComponent<\n React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<TRef>>\n>\n\nexport function observer<P extends object>(\n baseComponent: React.FunctionComponent<P>,\n options?: IObserverOptions\n): React.FunctionComponent<P>\n\nexport function observer<\n C extends React.FunctionComponent<any> | React.ForwardRefRenderFunction<any>,\n Options extends IObserverOptions\n>(\n baseComponent: C,\n options?: Options\n): Options extends { forwardRef: true }\n ? C extends React.ForwardRefRenderFunction<infer TRef, infer P>\n ? C &\n React.MemoExoticComponent<\n React.ForwardRefExoticComponent<\n React.PropsWithoutRef<P> & React.RefAttributes<TRef>\n >\n >\n : never /* forwardRef set for a non forwarding component */\n : C & { displayName: string }\n\n// n.b. base case is not used for actual typings or exported in the typing files\nexport function observer<P extends object, TRef = {}>(\n baseComponent:\n | React.ForwardRefRenderFunction<TRef, P>\n | React.FunctionComponent<P>\n | React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<TRef>>,\n // TODO remove in next major\n options?: IObserverOptions\n) {\n if (process.env.NODE_ENV !== \"production\" && warnObserverOptionsDeprecated && options) {\n warnObserverOptionsDeprecated = false\n console.warn(\n `[mobx-react-lite] \\`observer(fn, { forwardRef: true })\\` is deprecated, use \\`observer(React.forwardRef(fn))\\``\n )\n }\n\n if (ReactMemoSymbol && baseComponent[\"$$typeof\"] === ReactMemoSymbol) {\n throw new Error(\n `[mobx-react-lite] You are trying to use \\`observer\\` on a function component wrapped in either another \\`observer\\` or \\`React.memo\\`. The observer already applies 'React.memo' for you.`\n )\n }\n\n // The working of observer is explained step by step in this talk: https://www.youtube.com/watch?v=cPF4iBedoF0&feature=youtu.be&t=1307\n if (isUsingStaticRendering()) {\n return baseComponent\n }\n\n let useForwardRef = options?.forwardRef ?? false\n let render = baseComponent\n\n const baseComponentName = baseComponent.displayName || baseComponent.name\n\n // If already wrapped with forwardRef, unwrap,\n // so we can patch render and apply memo\n if (ReactForwardRefSymbol && baseComponent[\"$$typeof\"] === ReactForwardRefSymbol) {\n useForwardRef = true\n render = baseComponent[\"render\"]\n if (typeof render !== \"function\") {\n throw new Error(\n `[mobx-react-lite] \\`render\\` property of ForwardRef was not a function`\n )\n }\n }\n\n let observerComponent = (props: any, ref: React.Ref<TRef>) => {\n return useObserver(() => render(props, ref), baseComponentName)\n }\n\n // Inherit original name and displayName, see #3438\n ;(observerComponent as React.FunctionComponent).displayName = baseComponent.displayName\n\n if (isFunctionNameConfigurable) {\n Object.defineProperty(observerComponent, \"name\", {\n value: baseComponent.name,\n writable: true,\n configurable: true\n })\n }\n\n // Support legacy context: `contextTypes` must be applied before `memo`\n if ((baseComponent as any).contextTypes) {\n ;(observerComponent as React.FunctionComponent).contextTypes = (\n baseComponent as any\n ).contextTypes\n }\n\n if (useForwardRef) {\n // `forwardRef` must be applied prior `memo`\n // `forwardRef(observer(cmp))` throws:\n // \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))\"\n observerComponent = forwardRef(observerComponent)\n }\n\n // memo; we are not interested in deep updates\n // in props; we assume that if deep objects are changed,\n // this is in observables, which would have been tracked anyway\n observerComponent = memo(observerComponent)\n\n copyStaticProperties(baseComponent, observerComponent)\n\n if (\"production\" !== process.env.NODE_ENV) {\n Object.defineProperty(observerComponent, \"contextTypes\", {\n set() {\n throw new Error(\n `[mobx-react-lite] \\`${\n this.displayName || this.type?.displayName || this.type?.name || \"Component\"\n }.contextTypes\\` must be set before applying \\`observer\\`.`\n )\n }\n })\n }\n\n return observerComponent\n}\n\n// based on https://github.com/mridgway/hoist-non-react-statics/blob/master/src/index.js\nconst hoistBlackList: any = {\n $$typeof: true,\n render: true,\n compare: true,\n type: true,\n // Don't redefine `displayName`,\n // it's defined as getter-setter pair on `memo` (see #3192).\n displayName: true\n}\n\nfunction copyStaticProperties(base: any, target: any) {\n Object.keys(base).forEach(key => {\n if (!hoistBlackList[key]) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(base, key)!)\n }\n })\n}\n","import { isComputedProp, isObservableProp, createAtom, action, computed, _allowStateChangesInsideComputed, reaction, runInAction, observable, values, entries, _getGlobalState, isObservableArray, isObservableObject, defineProperty as defineProperty$1, ObservableMap, _interceptReads, intercept, observe, _getAdministration, set, makeObservable, getAtom, when } from 'mobx';\n\nvar livelinessChecking = \"warn\";\n/**\n * Defines what MST should do when running into reads / writes to objects that have died.\n * By default it will print a warning.\n * Use the `\"error\"` option to easy debugging to see where the error was thrown and when the offending read / write took place\n *\n * @param mode `\"warn\"`, `\"error\"` or `\"ignore\"`\n */\nfunction setLivelinessChecking(mode) {\n livelinessChecking = mode;\n}\n/**\n * Returns the current liveliness checking mode.\n *\n * @returns `\"warn\"`, `\"error\"` or `\"ignore\"`\n */\nfunction getLivelinessChecking() {\n return livelinessChecking;\n}\n/**\n * @deprecated use setLivelinessChecking instead\n * @hidden\n *\n * Defines what MST should do when running into reads / writes to objects that have died.\n * By default it will print a warning.\n * Use the `\"error\"` option to easy debugging to see where the error was thrown and when the offending read / write took place\n *\n * @param mode `\"warn\"`, `\"error\"` or `\"ignore\"`\n */\nfunction setLivelynessChecking(mode) {\n setLivelinessChecking(mode);\n}\n\n/**\n * @hidden\n */\nvar Hook;\n(function (Hook) {\n Hook[\"afterCreate\"] = \"afterCreate\";\n Hook[\"afterAttach\"] = \"afterAttach\";\n Hook[\"afterCreationFinalization\"] = \"afterCreationFinalization\";\n Hook[\"beforeDetach\"] = \"beforeDetach\";\n Hook[\"beforeDestroy\"] = \"beforeDestroy\";\n})(Hook || (Hook = {}));\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/**\n * Returns the _actual_ type of the given tree node. (Or throws)\n *\n * @param object\n * @returns\n */\nfunction getType(object) {\n assertIsStateTreeNode(object, 1);\n return getStateTreeNode(object).type;\n}\n/**\n * Returns the _declared_ type of the given sub property of an object, array or map.\n * In the case of arrays and maps the property name is optional and will be ignored.\n *\n * Example:\n * ```ts\n * const Box = types.model({ x: 0, y: 0 })\n * const box = Box.create()\n *\n * console.log(getChildType(box, \"x\").name) // 'number'\n * ```\n *\n * @param object\n * @param propertyName\n * @returns\n */\nfunction getChildType(object, propertyName) {\n assertIsStateTreeNode(object, 1);\n return getStateTreeNode(object).getChildType(propertyName);\n}\n/**\n * Registers a function that will be invoked for each mutation that is applied to the provided model instance, or to any of its children.\n * See [patches](https://github.com/mobxjs/mobx-state-tree#patches) for more details. onPatch events are emitted immediately and will not await the end of a transaction.\n * Patches can be used to deeply observe a model tree.\n *\n * @param target the model instance from which to receive patches\n * @param callback the callback that is invoked for each patch. The reversePatch is a patch that would actually undo the emitted patch\n * @returns function to remove the listener\n */\nfunction onPatch(target, callback) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsFunction(callback, 2);\n return getStateTreeNode(target).onPatch(callback);\n}\n/**\n * Registers a function that is invoked whenever a new snapshot for the given model instance is available.\n * The listener will only be fire at the end of the current MobX (trans)action.\n * See [snapshots](https://github.com/mobxjs/mobx-state-tree#snapshots) for more details.\n *\n * @param target\n * @param callback\n * @returns\n */\nfunction onSnapshot(target, callback) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsFunction(callback, 2);\n return getStateTreeNode(target).onSnapshot(callback);\n}\n/**\n * Applies a JSON-patch to the given model instance or bails out if the patch couldn't be applied\n * See [patches](https://github.com/mobxjs/mobx-state-tree#patches) for more details.\n *\n * Can apply a single past, or an array of patches.\n *\n * @param target\n * @param patch\n * @returns\n */\nfunction applyPatch(target, patch) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertArg(patch, function (p) { return typeof p === \"object\"; }, \"object or array\", 2);\n getStateTreeNode(target).applyPatches(asArray(patch));\n}\n/**\n * Small abstraction around `onPatch` and `applyPatch`, attaches a patch listener to a tree and records all the patches.\n * Returns a recorder object with the following signature:\n *\n * Example:\n * ```ts\n * export interface IPatchRecorder {\n * // the recorded patches\n * patches: IJsonPatch[]\n * // the inverse of the recorded patches\n * inversePatches: IJsonPatch[]\n * // true if currently recording\n * recording: boolean\n * // stop recording patches\n * stop(): void\n * // resume recording patches\n * resume(): void\n * // apply all the recorded patches on the given target (the original subject if omitted)\n * replay(target?: IAnyStateTreeNode): void\n * // reverse apply the recorded patches on the given target (the original subject if omitted)\n * // stops the recorder if not already stopped\n * undo(): void\n * }\n * ```\n *\n * The optional filter function allows to skip recording certain patches.\n *\n * @param subject\n * @param filter\n * @returns\n */\nfunction recordPatches(subject, filter) {\n // check all arguments\n assertIsStateTreeNode(subject, 1);\n var data = {\n patches: [],\n inversePatches: []\n };\n // we will generate the immutable copy of patches on demand for public consumption\n var publicData = {};\n var disposer;\n var recorder = {\n get recording() {\n return !!disposer;\n },\n get patches() {\n if (!publicData.patches) {\n publicData.patches = data.patches.slice();\n }\n return publicData.patches;\n },\n get reversedInversePatches() {\n if (!publicData.reversedInversePatches) {\n publicData.reversedInversePatches = data.inversePatches.slice().reverse();\n }\n return publicData.reversedInversePatches;\n },\n get inversePatches() {\n if (!publicData.inversePatches) {\n publicData.inversePatches = data.inversePatches.slice();\n }\n return publicData.inversePatches;\n },\n stop: function () {\n if (disposer) {\n disposer();\n disposer = undefined;\n }\n },\n resume: function () {\n if (disposer)\n return;\n disposer = onPatch(subject, function (patch, inversePatch) {\n // skip patches that are asked to be filtered if there's a filter in place\n if (filter && !filter(patch, inversePatch, getRunningActionContext())) {\n return;\n }\n data.patches.push(patch);\n data.inversePatches.push(inversePatch);\n // mark immutable public patches as dirty\n publicData.patches = undefined;\n publicData.inversePatches = undefined;\n publicData.reversedInversePatches = undefined;\n });\n },\n replay: function (target) {\n applyPatch(target || subject, data.patches);\n },\n undo: function (target) {\n applyPatch(target || subject, data.inversePatches.slice().reverse());\n }\n };\n recorder.resume();\n return recorder;\n}\n/**\n * The inverse of `unprotect`.\n *\n * @param target\n */\nfunction protect(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n var node = getStateTreeNode(target);\n if (!node.isRoot)\n throw fail(\"`protect` can only be invoked on root nodes\");\n node.isProtectionEnabled = true;\n}\n/**\n * By default it is not allowed to directly modify a model. Models can only be modified through actions.\n * However, in some cases you don't care about the advantages (like replayability, traceability, etc) this yields.\n * For example because you are building a PoC or don't have any middleware attached to your tree.\n *\n * In that case you can disable this protection by calling `unprotect` on the root of your tree.\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * done: false\n * }).actions(self => ({\n * toggle() {\n * self.done = !self.done\n * }\n * }))\n *\n * const todo = Todo.create()\n * todo.done = true // throws!\n * todo.toggle() // OK\n * unprotect(todo)\n * todo.done = false // OK\n * ```\n */\nfunction unprotect(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n var node = getStateTreeNode(target);\n if (!node.isRoot)\n throw fail(\"`unprotect` can only be invoked on root nodes\");\n node.isProtectionEnabled = false;\n}\n/**\n * Returns true if the object is in protected mode, @see protect\n */\nfunction isProtected(target) {\n return getStateTreeNode(target).isProtected;\n}\n/**\n * Applies a snapshot to a given model instances. Patch and snapshot listeners will be invoked as usual.\n *\n * @param target\n * @param snapshot\n * @returns\n */\nfunction applySnapshot(target, snapshot) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).applySnapshot(snapshot);\n}\n/**\n * Calculates a snapshot from the given model instance. The snapshot will always reflect the latest state but use\n * structural sharing where possible. Doesn't require MobX transactions to be completed.\n *\n * @param target\n * @param applyPostProcess If true (the default) then postProcessSnapshot gets applied.\n * @returns\n */\nfunction getSnapshot(target, applyPostProcess) {\n if (applyPostProcess === void 0) { applyPostProcess = true; }\n // check all arguments\n assertIsStateTreeNode(target, 1);\n var node = getStateTreeNode(target);\n if (applyPostProcess)\n return node.snapshot;\n return freeze(node.type.getSnapshot(node, false));\n}\n/**\n * Given a model instance, returns `true` if the object has a parent, that is, is part of another object, map or array.\n *\n * @param target\n * @param depth How far should we look upward? 1 by default.\n * @returns\n */\nfunction hasParent(target, depth) {\n if (depth === void 0) { depth = 1; }\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsNumber(depth, 2, 0);\n var parent = getStateTreeNode(target).parent;\n while (parent) {\n if (--depth === 0)\n return true;\n parent = parent.parent;\n }\n return false;\n}\n/**\n * Returns the immediate parent of this object, or throws.\n *\n * Note that the immediate parent can be either an object, map or array, and\n * doesn't necessarily refer to the parent model.\n *\n * Please note that in child nodes access to the root is only possible\n * once the `afterAttach` hook has fired.\n *\n * @param target\n * @param depth How far should we look upward? 1 by default.\n * @returns\n */\nfunction getParent(target, depth) {\n if (depth === void 0) { depth = 1; }\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsNumber(depth, 2, 0);\n var d = depth;\n var parent = getStateTreeNode(target).parent;\n while (parent) {\n if (--d === 0)\n return parent.storedValue;\n parent = parent.parent;\n }\n throw fail(\"Failed to find the parent of \" + getStateTreeNode(target) + \" at depth \" + depth);\n}\n/**\n * Given a model instance, returns `true` if the object has a parent of given type, that is, is part of another object, map or array\n *\n * @param target\n * @param type\n * @returns\n */\nfunction hasParentOfType(target, type) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsType(type, 2);\n var parent = getStateTreeNode(target).parent;\n while (parent) {\n if (type.is(parent.storedValue))\n return true;\n parent = parent.parent;\n }\n return false;\n}\n/**\n * Returns the target's parent of a given type, or throws.\n *\n * @param target\n * @param type\n * @returns\n */\nfunction getParentOfType(target, type) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsType(type, 2);\n var parent = getStateTreeNode(target).parent;\n while (parent) {\n if (type.is(parent.storedValue))\n return parent.storedValue;\n parent = parent.parent;\n }\n throw fail(\"Failed to find the parent of \" + getStateTreeNode(target) + \" of a given type\");\n}\n/**\n * Given an object in a model tree, returns the root object of that tree.\n *\n * Please note that in child nodes access to the root is only possible\n * once the `afterAttach` hook has fired.\n *\n * @param target\n * @returns\n */\nfunction getRoot(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).root.storedValue;\n}\n/**\n * Returns the path of the given object in the model tree\n *\n * @param target\n * @returns\n */\nfunction getPath(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).path;\n}\n/**\n * Returns the path of the given object as unescaped string array.\n *\n * @param target\n * @returns\n */\nfunction getPathParts(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return splitJsonPath(getStateTreeNode(target).path);\n}\n/**\n * Returns true if the given object is the root of a model tree.\n *\n * @param target\n * @returns\n */\nfunction isRoot(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).isRoot;\n}\n/**\n * Resolves a path relatively to a given object.\n * Returns undefined if no value can be found.\n *\n * @param target\n * @param path escaped json path\n * @returns\n */\nfunction resolvePath(target, path) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsString(path, 2);\n var node = resolveNodeByPath(getStateTreeNode(target), path);\n return node ? node.value : undefined;\n}\n/**\n * Resolves a model instance given a root target, the type and the identifier you are searching for.\n * Returns undefined if no value can be found.\n *\n * @param type\n * @param target\n * @param identifier\n * @returns\n */\nfunction resolveIdentifier(type, target, identifier) {\n // check all arguments\n assertIsType(type, 1);\n assertIsStateTreeNode(target, 2);\n assertIsValidIdentifier(identifier, 3);\n var node = getStateTreeNode(target).root.identifierCache.resolve(type, normalizeIdentifier(identifier));\n return node === null || node === void 0 ? void 0 : node.value;\n}\n/**\n * Returns the identifier of the target node.\n * This is the *string normalized* identifier, which might not match the type of the identifier attribute\n *\n * @param target\n * @returns\n */\nfunction getIdentifier(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).identifier;\n}\n/**\n * Tests if a reference is valid (pointing to an existing node and optionally if alive) and returns such reference if the check passes,\n * else it returns undefined.\n *\n * @param getter Function to access the reference.\n * @param checkIfAlive true to also make sure the referenced node is alive (default), false to skip this check.\n * @returns\n */\nfunction tryReference(getter, checkIfAlive) {\n if (checkIfAlive === void 0) { checkIfAlive = true; }\n try {\n var node = getter();\n if (node === undefined || node === null) {\n return undefined;\n }\n else if (isStateTreeNode(node)) {\n if (!checkIfAlive) {\n return node;\n }\n else {\n return isAlive(node) ? node : undefined;\n }\n }\n else {\n throw fail(\"The reference to be checked is not one of node, null or undefined\");\n }\n }\n catch (e) {\n if (e instanceof InvalidReferenceError) {\n return undefined;\n }\n throw e;\n }\n}\n/**\n * Tests if a reference is valid (pointing to an existing node and optionally if alive) and returns if the check passes or not.\n *\n * @param getter Function to access the reference.\n * @param checkIfAlive true to also make sure the referenced node is alive (default), false to skip this check.\n * @returns\n */\nfunction isValidReference(getter, checkIfAlive) {\n if (checkIfAlive === void 0) { checkIfAlive = true; }\n try {\n var node = getter();\n if (node === undefined || node === null) {\n return false;\n }\n else if (isStateTreeNode(node)) {\n return checkIfAlive ? isAlive(node) : true;\n }\n else {\n throw fail(\"The reference to be checked is not one of node, null or undefined\");\n }\n }\n catch (e) {\n if (e instanceof InvalidReferenceError) {\n return false;\n }\n throw e;\n }\n}\n/**\n * Try to resolve a given path relative to a given node.\n *\n * @param target\n * @param path\n * @returns\n */\nfunction tryResolve(target, path) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsString(path, 2);\n var node = resolveNodeByPath(getStateTreeNode(target), path, false);\n if (node === undefined)\n return undefined;\n try {\n return node.value;\n }\n catch (e) {\n // For what ever reason not resolvable (e.g. totally not existing path, or value that cannot be fetched)\n // see test / issue: 'try resolve doesn't work #686'\n return undefined;\n }\n}\n/**\n * Given two state tree nodes that are part of the same tree,\n * returns the shortest jsonpath needed to navigate from the one to the other\n *\n * @param base\n * @param target\n * @returns\n */\nfunction getRelativePath(base, target) {\n // check all arguments\n assertIsStateTreeNode(base, 1);\n assertIsStateTreeNode(target, 2);\n return getRelativePathBetweenNodes(getStateTreeNode(base), getStateTreeNode(target));\n}\n/**\n * Returns a deep copy of the given state tree node as new tree.\n * Shorthand for `snapshot(x) = getType(x).create(getSnapshot(x))`\n *\n * _Tip: clone will create a literal copy, including the same identifiers. To modify identifiers etc. during cloning, don't use clone but take a snapshot of the tree, modify it, and create new instance_\n *\n * @param source\n * @param keepEnvironment indicates whether the clone should inherit the same environment (`true`, the default), or not have an environment (`false`). If an object is passed in as second argument, that will act as the environment for the cloned tree.\n * @returns\n */\nfunction clone(source, keepEnvironment) {\n if (keepEnvironment === void 0) { keepEnvironment = true; }\n // check all arguments\n assertIsStateTreeNode(source, 1);\n var node = getStateTreeNode(source);\n return node.type.create(node.snapshot, keepEnvironment === true\n ? node.root.environment\n : keepEnvironment === false\n ? undefined\n : keepEnvironment); // it's an object or something else\n}\n/**\n * Removes a model element from the state tree, and let it live on as a new state tree\n */\nfunction detach(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n getStateTreeNode(target).detach();\n return target;\n}\n/**\n * Removes a model element from the state tree, and mark it as end-of-life; the element should not be used anymore\n */\nfunction destroy(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n var node = getStateTreeNode(target);\n if (node.isRoot)\n node.die();\n else\n node.parent.removeChild(node.subpath);\n}\n/**\n * Returns true if the given state tree node is not killed yet.\n * This means that the node is still a part of a tree, and that `destroy`\n * has not been called. If a node is not alive anymore, the only thing one can do with it\n * is requesting it's last path and snapshot\n *\n * @param target\n * @returns\n */\nfunction isAlive(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).observableIsAlive;\n}\n/**\n * Use this utility to register a function that should be called whenever the\n * targeted state tree node is destroyed. This is a useful alternative to managing\n * cleanup methods yourself using the `beforeDestroy` hook.\n *\n * This methods returns the same disposer that was passed as argument.\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * title: types.string\n * }).actions(self => ({\n * afterCreate() {\n * const autoSaveDisposer = reaction(\n * () => getSnapshot(self),\n * snapshot => sendSnapshotToServerSomehow(snapshot)\n * )\n * // stop sending updates to server if this\n * // instance is destroyed\n * addDisposer(self, autoSaveDisposer)\n * }\n * }))\n * ```\n *\n * @param target\n * @param disposer\n * @returns The same disposer that was passed as argument\n */\nfunction addDisposer(target, disposer) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsFunction(disposer, 2);\n var node = getStateTreeNode(target);\n node.addDisposer(disposer);\n return disposer;\n}\n/**\n * Returns the environment of the current state tree. For more info on environments,\n * see [Dependency injection](https://github.com/mobxjs/mobx-state-tree#dependency-injection)\n *\n * Please note that in child nodes access to the root is only possible\n * once the `afterAttach` hook has fired\n *\n * Returns an empty environment if the tree wasn't initialized with an environment\n *\n * @param target\n * @returns\n */\nfunction getEnv(target) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n var node = getStateTreeNode(target);\n var env = node.root.environment;\n if (!env)\n return EMPTY_OBJECT;\n return env;\n}\n/**\n * Performs a depth first walk through a tree.\n */\nfunction walk(target, processor) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertIsFunction(processor, 2);\n var node = getStateTreeNode(target);\n // tslint:disable-next-line:no_unused-variable\n node.getChildren().forEach(function (child) {\n if (isStateTreeNode(child.storedValue))\n walk(child.storedValue, processor);\n });\n processor(node.storedValue);\n}\n/**\n * Returns a reflection of the model type properties and name for either a model type or model node.\n *\n * @param typeOrNode\n * @returns\n */\nfunction getPropertyMembers(typeOrNode) {\n var type;\n if (isStateTreeNode(typeOrNode)) {\n type = getType(typeOrNode);\n }\n else {\n type = typeOrNode;\n }\n assertArg(type, function (t) { return isModelType(t); }, \"model type or model instance\", 1);\n return {\n name: type.name,\n properties: __assign({}, type.properties)\n };\n}\n/**\n * Returns a reflection of the model node, including name, properties, views, volatile state,\n * and actions. `flowActions` is also provided as a separate array of names for any action that\n * came from a flow generator as well.\n *\n * In the case where a model has two actions: `doSomething` and `doSomethingWithFlow`, where\n * `doSomethingWithFlow` is a flow generator, the `actions` array will contain both actions,\n * i.e. [\"doSomething\", \"doSomethingWithFlow\"], and the `flowActions` array will contain only\n * the flow action, i.e. [\"doSomethingWithFlow\"].\n *\n * @param target\n * @returns\n */\nfunction getMembers(target) {\n var type = getStateTreeNode(target).type;\n var reflected = __assign(__assign({}, getPropertyMembers(type)), { actions: [], volatile: [], views: [], flowActions: [] });\n var props = Object.getOwnPropertyNames(target);\n props.forEach(function (key) {\n if (key in reflected.properties)\n return;\n var descriptor = Object.getOwnPropertyDescriptor(target, key);\n if (descriptor.get) {\n if (isComputedProp(target, key))\n reflected.views.push(key);\n else\n reflected.volatile.push(key);\n return;\n }\n if (descriptor.value._isFlowAction === true) {\n reflected.flowActions.push(key);\n }\n if (descriptor.value._isMSTAction === true) {\n reflected.actions.push(key);\n }\n else if (isObservableProp(target, key)) {\n reflected.volatile.push(key);\n }\n else {\n reflected.views.push(key);\n }\n });\n return reflected;\n}\n/**\n * Casts a node snapshot or instance type to an instance type so it can be assigned to a type instance.\n * Note that this is just a cast for the type system, this is, it won't actually convert a snapshot to an instance,\n * but just fool typescript into thinking so.\n * Either way, casting when outside an assignation operation won't compile.\n *\n * Example:\n * ```ts\n * const ModelA = types.model({\n * n: types.number\n * }).actions(self => ({\n * setN(aNumber: number) {\n * self.n = aNumber\n * }\n * }))\n *\n * const ModelB = types.model({\n * innerModel: ModelA\n * }).actions(self => ({\n * someAction() {\n * // this will allow the compiler to assign a snapshot to the property\n * self.innerModel = cast({ a: 5 })\n * }\n * }))\n * ```\n *\n * @param snapshotOrInstance Snapshot or instance\n * @returns The same object cast as an instance\n */\nfunction cast(snapshotOrInstance) {\n return snapshotOrInstance;\n}\n/**\n * Casts a node instance type to a snapshot type so it can be assigned to a type snapshot (e.g. to be used inside a create call).\n * Note that this is just a cast for the type system, this is, it won't actually convert an instance to a snapshot,\n * but just fool typescript into thinking so.\n *\n * Example:\n * ```ts\n * const ModelA = types.model({\n * n: types.number\n * }).actions(self => ({\n * setN(aNumber: number) {\n * self.n = aNumber\n * }\n * }))\n *\n * const ModelB = types.model({\n * innerModel: ModelA\n * })\n *\n * const a = ModelA.create({ n: 5 });\n * // this will allow the compiler to use a model as if it were a snapshot\n * const b = ModelB.create({ innerModel: castToSnapshot(a)})\n * ```\n *\n * @param snapshotOrInstance Snapshot or instance\n * @returns The same object cast as an input (creation) snapshot\n */\nfunction castToSnapshot(snapshotOrInstance) {\n return snapshotOrInstance;\n}\n/**\n * Casts a node instance type to a reference snapshot type so it can be assigned to a reference snapshot (e.g. to be used inside a create call).\n * Note that this is just a cast for the type system, this is, it won't actually convert an instance to a reference snapshot,\n * but just fool typescript into thinking so.\n *\n * Example:\n * ```ts\n * const ModelA = types.model({\n * id: types.identifier,\n * n: types.number\n * }).actions(self => ({\n * setN(aNumber: number) {\n * self.n = aNumber\n * }\n * }))\n *\n * const ModelB = types.model({\n * refA: types.reference(ModelA)\n * })\n *\n * const a = ModelA.create({ id: 'someId', n: 5 });\n * // this will allow the compiler to use a model as if it were a reference snapshot\n * const b = ModelB.create({ refA: castToReferenceSnapshot(a)})\n * ```\n *\n * @param instance Instance\n * @returns The same object cast as a reference snapshot (string or number)\n */\nfunction castToReferenceSnapshot(instance) {\n return instance;\n}\n/**\n * Returns the unique node id (not to be confused with the instance identifier) for a\n * given instance.\n * This id is a number that is unique for each instance.\n *\n * @export\n * @param target\n * @returns\n */\nfunction getNodeId(target) {\n assertIsStateTreeNode(target, 1);\n return getStateTreeNode(target).nodeId;\n}\n\n/**\n * @internal\n * @hidden\n */\nvar BaseNode = /** @class */ (function () {\n function BaseNode(type, parent, subpath, environment) {\n Object.defineProperty(this, \"type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: type\n });\n Object.defineProperty(this, \"environment\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: environment\n });\n Object.defineProperty(this, \"_escapedSubpath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_subpath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_subpathUponDeath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_pathUponDeath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"storedValue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n }); // usually the same type as the value, but not always (such as with references)\n Object.defineProperty(this, \"aliveAtom\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: NodeLifeCycle.INITIALIZING\n });\n Object.defineProperty(this, \"_hookSubscribers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_parent\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pathAtom\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.environment = environment;\n this.baseSetParent(parent, subpath);\n }\n Object.defineProperty(BaseNode.prototype, \"subpath\", {\n get: function () {\n return this._subpath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"subpathUponDeath\", {\n get: function () {\n return this._subpathUponDeath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"pathUponDeath\", {\n get: function () {\n return this._pathUponDeath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"value\", {\n get: function () {\n return this.type.getValue(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n set: function (val) {\n var wasAlive = this.isAlive;\n this._state = val;\n var isAlive = this.isAlive;\n if (this.aliveAtom && wasAlive !== isAlive) {\n this.aliveAtom.reportChanged();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"fireInternalHook\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (name) {\n if (this._hookSubscribers) {\n this._hookSubscribers.emit(name, this, name);\n }\n }\n });\n Object.defineProperty(BaseNode.prototype, \"registerHook\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (hook, hookHandler) {\n if (!this._hookSubscribers) {\n this._hookSubscribers = new EventHandlers();\n }\n return this._hookSubscribers.register(hook, hookHandler);\n }\n });\n Object.defineProperty(BaseNode.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"getReconciliationType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.type;\n }\n });\n Object.defineProperty(BaseNode.prototype, \"baseSetParent\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath) {\n this._parent = parent;\n this._subpath = subpath;\n this._escapedSubpath = undefined; // regenerate when needed\n if (this.pathAtom) {\n this.pathAtom.reportChanged();\n }\n }\n });\n Object.defineProperty(BaseNode.prototype, \"path\", {\n /*\n * Returns (escaped) path representation as string\n */\n get: function () {\n return this.getEscapedPath(true);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"getEscapedPath\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (reportObserved) {\n if (reportObserved) {\n if (!this.pathAtom) {\n this.pathAtom = createAtom(\"path\");\n }\n this.pathAtom.reportObserved();\n }\n if (!this.parent)\n return \"\";\n // regenerate escaped subpath if needed\n if (this._escapedSubpath === undefined) {\n this._escapedSubpath = !this._subpath ? \"\" : escapeJsonPath(this._subpath);\n }\n return this.parent.getEscapedPath(reportObserved) + \"/\" + this._escapedSubpath;\n }\n });\n Object.defineProperty(BaseNode.prototype, \"isRoot\", {\n get: function () {\n return this.parent === null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"isAlive\", {\n get: function () {\n return this.state !== NodeLifeCycle.DEAD;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"isDetaching\", {\n get: function () {\n return this.state === NodeLifeCycle.DETACHING;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"observableIsAlive\", {\n get: function () {\n if (!this.aliveAtom) {\n this.aliveAtom = createAtom(\"alive\");\n }\n this.aliveAtom.reportObserved();\n return this.isAlive;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseNode.prototype, \"baseFinalizeCreation\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (whenFinalized) {\n if (devMode()) {\n if (!this.isAlive) {\n // istanbul ignore next\n throw fail(\"assertion failed: cannot finalize the creation of a node that is already dead\");\n }\n }\n // goal: afterCreate hooks runs depth-first. After attach runs parent first, so on afterAttach the parent has completed already\n if (this.state === NodeLifeCycle.CREATED) {\n if (this.parent) {\n if (this.parent.state !== NodeLifeCycle.FINALIZED) {\n // parent not ready yet, postpone\n return;\n }\n this.fireHook(Hook.afterAttach);\n }\n this.state = NodeLifeCycle.FINALIZED;\n if (whenFinalized) {\n whenFinalized();\n }\n }\n }\n });\n Object.defineProperty(BaseNode.prototype, \"baseFinalizeDeath\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (this._hookSubscribers) {\n this._hookSubscribers.clearAll();\n }\n this._subpathUponDeath = this._subpath;\n this._pathUponDeath = this.getEscapedPath(false);\n this.baseSetParent(null, \"\");\n this.state = NodeLifeCycle.DEAD;\n }\n });\n Object.defineProperty(BaseNode.prototype, \"baseAboutToDie\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.fireHook(Hook.beforeDestroy);\n }\n });\n return BaseNode;\n}());\n\n/**\n * @internal\n * @hidden\n */\nvar ScalarNode = /** @class */ (function (_super) {\n __extends(ScalarNode, _super);\n function ScalarNode(simpleType, parent, subpath, environment, initialSnapshot) {\n var _this = _super.call(this, simpleType, parent, subpath, environment) || this;\n try {\n _this.storedValue = simpleType.createNewInstance(initialSnapshot);\n }\n catch (e) {\n // short-cut to die the instance, to avoid the snapshot computed starting to throw...\n _this.state = NodeLifeCycle.DEAD;\n throw e;\n }\n _this.state = NodeLifeCycle.CREATED;\n // for scalar nodes there's no point in firing this event since it would fire on the constructor, before\n // anybody can actually register for/listen to it\n // this.fireHook(Hook.AfterCreate)\n _this.finalizeCreation();\n return _this;\n }\n Object.defineProperty(ScalarNode.prototype, \"root\", {\n get: function () {\n // future optimization: store root ref in the node and maintain it\n if (!this.parent)\n throw fail(\"This scalar node is not part of a tree\");\n return this.parent.root;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ScalarNode.prototype, \"setParent\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (newParent, subpath) {\n var parentChanged = this.parent !== newParent;\n var subpathChanged = this.subpath !== subpath;\n if (!parentChanged && !subpathChanged) {\n return;\n }\n if (devMode()) {\n if (!subpath) {\n // istanbul ignore next\n throw fail(\"assertion failed: subpath expected\");\n }\n if (!newParent) {\n // istanbul ignore next\n throw fail(\"assertion failed: parent expected\");\n }\n if (parentChanged) {\n // istanbul ignore next\n throw fail(\"assertion failed: scalar nodes cannot change their parent\");\n }\n }\n this.environment = undefined; // use parent's\n this.baseSetParent(this.parent, subpath);\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"snapshot\", {\n get: function () {\n return freeze(this.getSnapshot());\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ScalarNode.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.type.getSnapshot(this);\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"toString\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var path = (this.isAlive ? this.path : this.pathUponDeath) || \"<root>\";\n return this.type.name + \"@\" + path + (this.isAlive ? \"\" : \" [dead]\");\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"die\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this.isAlive || this.state === NodeLifeCycle.DETACHING)\n return;\n this.aboutToDie();\n this.finalizeDeath();\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"finalizeCreation\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.baseFinalizeCreation();\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"aboutToDie\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.baseAboutToDie();\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"finalizeDeath\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.baseFinalizeDeath();\n }\n });\n Object.defineProperty(ScalarNode.prototype, \"fireHook\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (name) {\n this.fireInternalHook(name);\n }\n });\n return ScalarNode;\n}(BaseNode));\nScalarNode.prototype.die = action(ScalarNode.prototype.die);\n\nvar nextNodeId = 1;\nvar snapshotReactionOptions = {\n onError: function (e) {\n throw e;\n }\n};\n/**\n * @internal\n * @hidden\n */\nvar ObjectNode = /** @class */ (function (_super) {\n __extends(ObjectNode, _super);\n function ObjectNode(complexType, parent, subpath, environment, initialValue) {\n var _this = _super.call(this, complexType, parent, subpath, environment) || this;\n Object.defineProperty(_this, \"nodeId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ++nextNodeId\n });\n Object.defineProperty(_this, \"identifierAttribute\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"identifier\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n }); // Identifier is always normalized to string, even if the identifier property isn't\n Object.defineProperty(_this, \"unnormalizedIdentifier\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"identifierCache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"isProtectionEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n Object.defineProperty(_this, \"middlewares\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"hasSnapshotPostProcessor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(_this, \"_applyPatches\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_applySnapshot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_autoUnbox\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n }); // unboxing is disabled when reading child nodes\n Object.defineProperty(_this, \"_isRunningAction\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n }); // only relevant for root\n Object.defineProperty(_this, \"_hasSnapshotReaction\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(_this, \"_observableInstanceState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0 /* UNINITIALIZED */\n });\n Object.defineProperty(_this, \"_childNodes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_initialSnapshot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_cachedInitialSnapshot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_cachedInitialSnapshotCreated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(_this, \"_snapshotComputed\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_snapshotUponDeath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // #region internal event handling\n Object.defineProperty(_this, \"_internalEvents\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _this._snapshotComputed = computed(function () { return freeze(_this.getSnapshot()); });\n _this.unbox = _this.unbox.bind(_this);\n _this._initialSnapshot = freeze(initialValue);\n _this.identifierAttribute = complexType.identifierAttribute;\n if (!parent) {\n _this.identifierCache = new IdentifierCache();\n }\n _this._childNodes = complexType.initializeChildNodes(_this, _this._initialSnapshot);\n // identifier can not be changed during lifecycle of a node\n // so we safely can read it from initial snapshot\n _this.identifier = null;\n _this.unnormalizedIdentifier = null;\n if (_this.identifierAttribute && _this._initialSnapshot) {\n var id = _this._initialSnapshot[_this.identifierAttribute];\n if (id === undefined) {\n // try with the actual node if not (for optional identifiers)\n var childNode = _this._childNodes[_this.identifierAttribute];\n if (childNode) {\n id = childNode.value;\n }\n }\n if (typeof id !== \"string\" && typeof id !== \"number\") {\n throw fail(\"Instance identifier '\" + _this.identifierAttribute + \"' for type '\" + _this.type.name + \"' must be a string or a number\");\n }\n // normalize internal identifier to string\n _this.identifier = normalizeIdentifier(id);\n _this.unnormalizedIdentifier = id;\n }\n if (!parent) {\n _this.identifierCache.addNodeToCache(_this);\n }\n else {\n parent.root.identifierCache.addNodeToCache(_this);\n }\n return _this;\n }\n Object.defineProperty(ObjectNode.prototype, \"applyPatches\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (patches) {\n this.createObservableInstanceIfNeeded();\n this._applyPatches(patches);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"applySnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n this.createObservableInstanceIfNeeded();\n this._applySnapshot(snapshot);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"createObservableInstanceIfNeeded\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fireHooks) {\n if (fireHooks === void 0) { fireHooks = true; }\n if (this._observableInstanceState === 0 /* UNINITIALIZED */) {\n this.createObservableInstance(fireHooks);\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"createObservableInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fireHooks) {\n var e_1, _a, e_2, _b;\n if (fireHooks === void 0) { fireHooks = true; }\n if (devMode()) {\n if (this.state !== NodeLifeCycle.INITIALIZING) {\n // istanbul ignore next\n throw fail(\"assertion failed: the creation of the observable instance must be done on the initializing phase\");\n }\n }\n this._observableInstanceState = 1 /* CREATING */;\n // make sure the parent chain is created as well\n // array with parent chain from parent to child\n var parentChain = [];\n var parent = this.parent;\n // for performance reasons we never go back further than the most direct\n // uninitialized parent\n // this is done to avoid traversing the whole tree to the root when using\n // the same reference again\n while (parent &&\n parent._observableInstanceState === 0 /* UNINITIALIZED */) {\n parentChain.unshift(parent);\n parent = parent.parent;\n }\n try {\n // initialize the uninitialized parent chain from parent to child\n for (var parentChain_1 = __values(parentChain), parentChain_1_1 = parentChain_1.next(); !parentChain_1_1.done; parentChain_1_1 = parentChain_1.next()) {\n var p = parentChain_1_1.value;\n // delay firing hooks until after all parents have been created\n p.createObservableInstanceIfNeeded(false);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (parentChain_1_1 && !parentChain_1_1.done && (_a = parentChain_1.return)) _a.call(parentChain_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var type = this.type;\n try {\n this.storedValue = type.createNewInstance(this._childNodes);\n this.preboot();\n this._isRunningAction = true;\n type.finalizeNewInstance(this, this.storedValue);\n }\n catch (e) {\n // short-cut to die the instance, to avoid the snapshot computed starting to throw...\n this.state = NodeLifeCycle.DEAD;\n throw e;\n }\n finally {\n this._isRunningAction = false;\n }\n this._observableInstanceState = 2 /* CREATED */;\n this._snapshotComputed.trackAndCompute();\n if (this.isRoot)\n this._addSnapshotReaction();\n this._childNodes = EMPTY_OBJECT;\n this.state = NodeLifeCycle.CREATED;\n if (fireHooks) {\n this.fireHook(Hook.afterCreate);\n // Note that the parent might not be finalized at this point\n // so afterAttach won't be called until later in that case\n this.finalizeCreation();\n try {\n // fire the hooks of the parents that we created\n for (var _c = __values(parentChain.reverse()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var p = _d.value;\n p.fireHook(Hook.afterCreate);\n // This will call afterAttach on the child if necessary\n p.finalizeCreation();\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 Object.defineProperty(ObjectNode.prototype, \"root\", {\n get: function () {\n var parent = this.parent;\n return parent ? parent.root : this;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ObjectNode.prototype, \"clearParent\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this.parent)\n return;\n // detach if attached\n this.fireHook(Hook.beforeDetach);\n var previousState = this.state;\n this.state = NodeLifeCycle.DETACHING;\n var root = this.root;\n var newEnv = root.environment;\n var newIdCache = root.identifierCache.splitCache(this);\n try {\n this.parent.removeChild(this.subpath);\n this.baseSetParent(null, \"\");\n this.environment = newEnv;\n this.identifierCache = newIdCache;\n }\n finally {\n this.state = previousState;\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"setParent\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (newParent, subpath) {\n var parentChanged = newParent !== this.parent;\n var subpathChanged = subpath !== this.subpath;\n if (!parentChanged && !subpathChanged) {\n return;\n }\n if (devMode()) {\n if (!subpath) {\n // istanbul ignore next\n throw fail(\"assertion failed: subpath expected\");\n }\n if (!newParent) {\n // istanbul ignore next\n throw fail(\"assertion failed: new parent expected\");\n }\n if (this.parent && parentChanged) {\n throw fail(\"A node cannot exists twice in the state tree. Failed to add \" + this + \" to path '\" + newParent.path + \"/\" + subpath + \"'.\");\n }\n if (!this.parent && newParent.root === this) {\n throw fail(\"A state tree is not allowed to contain itself. Cannot assign \" + this + \" to path '\" + newParent.path + \"/\" + subpath + \"'\");\n }\n if (!this.parent && !!this.environment && this.environment !== newParent.root.environment) {\n throw fail(\"A state tree cannot be made part of another state tree as long as their environments are different.\");\n }\n }\n if (parentChanged) {\n // attach to new parent\n this.environment = undefined; // will use root's\n newParent.root.identifierCache.mergeCache(this);\n this.baseSetParent(newParent, subpath);\n this.fireHook(Hook.afterAttach);\n }\n else if (subpathChanged) {\n // moving to a new subpath on the same parent\n this.baseSetParent(this.parent, subpath);\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"fireHook\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (name) {\n var _this = this;\n this.fireInternalHook(name);\n var fn = this.storedValue && typeof this.storedValue === \"object\" && this.storedValue[name];\n if (typeof fn === \"function\") {\n // we check for it to allow old mobx peer dependencies that don't have the method to work (even when still bugged)\n if (_allowStateChangesInsideComputed) {\n _allowStateChangesInsideComputed(function () {\n fn.apply(_this.storedValue);\n });\n }\n else {\n fn.apply(this.storedValue);\n }\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"snapshot\", {\n // advantage of using computed for a snapshot is that nicely respects transactions etc.\n get: function () {\n if (this.hasSnapshotPostProcessor) {\n this.createObservableInstanceIfNeeded();\n }\n return this._snapshotComputed.get();\n },\n enumerable: false,\n configurable: true\n });\n // NOTE: we use this method to get snapshot without creating @computed overhead\n Object.defineProperty(ObjectNode.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this.isAlive)\n return this._snapshotUponDeath;\n return this._observableInstanceState === 2 /* CREATED */\n ? this._getActualSnapshot()\n : this._getCachedInitialSnapshot();\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_getActualSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.type.getSnapshot(this);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_getCachedInitialSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this._cachedInitialSnapshotCreated) {\n var type = this.type;\n var childNodes = this._childNodes;\n var snapshot = this._initialSnapshot;\n this._cachedInitialSnapshot = type.processInitialSnapshot(childNodes, snapshot);\n this._cachedInitialSnapshotCreated = true;\n }\n return this._cachedInitialSnapshot;\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"isRunningAction\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (this._isRunningAction)\n return true;\n if (this.isRoot)\n return false;\n return this.parent.isRunningAction();\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"assertAlive\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (context) {\n var livelinessChecking = getLivelinessChecking();\n if (!this.isAlive && livelinessChecking !== \"ignore\") {\n var error = this._getAssertAliveError(context);\n switch (livelinessChecking) {\n case \"error\":\n throw fail(error);\n case \"warn\":\n warnError(error);\n }\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_getAssertAliveError\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (context) {\n var escapedPath = this.getEscapedPath(false) || this.pathUponDeath || \"\";\n var subpath = (context.subpath && escapeJsonPath(context.subpath)) || \"\";\n var actionContext = context.actionContext || getCurrentActionContext();\n // try to use a real action context if possible since it includes the action name\n if (actionContext && actionContext.type !== \"action\" && actionContext.parentActionEvent) {\n actionContext = actionContext.parentActionEvent;\n }\n var actionFullPath = \"\";\n if (actionContext && actionContext.name != null) {\n // try to use the context, and if it not available use the node one\n var actionPath = (actionContext && actionContext.context && getPath(actionContext.context)) || escapedPath;\n actionFullPath = actionPath + \".\" + actionContext.name + \"()\";\n }\n return \"You are trying to read or write to an object that is no longer part of a state tree. (Object type: '\" + this.type.name + \"', Path upon death: '\" + escapedPath + \"', Subpath: '\" + subpath + \"', Action: '\" + actionFullPath + \"'). Either detach nodes first, or don't use objects after removing / replacing them in the tree.\";\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"getChildNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (subpath) {\n this.assertAlive({\n subpath: subpath\n });\n this._autoUnbox = false;\n try {\n return this._observableInstanceState === 2 /* CREATED */\n ? this.type.getChildNode(this, subpath)\n : this._childNodes[subpath];\n }\n finally {\n this._autoUnbox = true;\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"getChildren\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.assertAlive(EMPTY_OBJECT);\n this._autoUnbox = false;\n try {\n return this._observableInstanceState === 2 /* CREATED */\n ? this.type.getChildren(this)\n : convertChildNodesToArray(this._childNodes);\n }\n finally {\n this._autoUnbox = true;\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"getChildType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (propertyName) {\n return this.type.getChildType(propertyName);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"isProtected\", {\n get: function () {\n return this.root.isProtectionEnabled;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ObjectNode.prototype, \"assertWritable\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (context) {\n this.assertAlive(context);\n if (!this.isRunningAction() && this.isProtected) {\n throw fail(\"Cannot modify '\" + this + \"', the object is protected and can only be modified by using an action.\");\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"removeChild\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (subpath) {\n this.type.removeChild(this, subpath);\n }\n });\n // bound on the constructor\n Object.defineProperty(ObjectNode.prototype, \"unbox\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNode) {\n if (!childNode)\n return childNode;\n this.assertAlive({\n subpath: childNode.subpath || childNode.subpathUponDeath\n });\n return this._autoUnbox ? childNode.value : childNode;\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"toString\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var path = (this.isAlive ? this.path : this.pathUponDeath) || \"<root>\";\n var identifier = this.identifier ? \"(id: \" + this.identifier + \")\" : \"\";\n return this.type.name + \"@\" + path + identifier + (this.isAlive ? \"\" : \" [dead]\");\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"finalizeCreation\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var _this = this;\n this.baseFinalizeCreation(function () {\n var e_3, _a;\n try {\n for (var _b = __values(_this.getChildren()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n child.finalizeCreation();\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n }\n _this.fireInternalHook(Hook.afterCreationFinalization);\n });\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"detach\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this.isAlive)\n throw fail(\"Error while detaching, node is not alive.\");\n this.clearParent();\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"preboot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var self = this;\n this._applyPatches = createActionInvoker(this.storedValue, \"@APPLY_PATCHES\", function (patches) {\n patches.forEach(function (patch) {\n if (!patch.path) {\n self.type.applySnapshot(self, patch.value);\n return;\n }\n var parts = splitJsonPath(patch.path);\n var node = resolveNodeByPathParts(self, parts.slice(0, -1));\n node.applyPatchLocally(parts[parts.length - 1], patch);\n });\n });\n this._applySnapshot = createActionInvoker(this.storedValue, \"@APPLY_SNAPSHOT\", function (snapshot) {\n // if the snapshot is the same as the current one, avoid performing a reconcile\n if (snapshot === self.snapshot)\n return;\n // else, apply it by calling the type logic\n return self.type.applySnapshot(self, snapshot);\n });\n addHiddenFinalProp(this.storedValue, \"$treenode\", this);\n addHiddenFinalProp(this.storedValue, \"toJSON\", toJSON);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"die\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (!this.isAlive || this.state === NodeLifeCycle.DETACHING)\n return;\n this.aboutToDie();\n this.finalizeDeath();\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"aboutToDie\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (this._observableInstanceState === 0 /* UNINITIALIZED */) {\n return;\n }\n this.getChildren().forEach(function (node) {\n node.aboutToDie();\n });\n // beforeDestroy should run before the disposers since else we could end up in a situation where\n // a disposer added with addDisposer at this stage (beforeDestroy) is actually never released\n this.baseAboutToDie();\n this._internalEventsEmit(\"dispose\" /* Dispose */);\n this._internalEventsClear(\"dispose\" /* Dispose */);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"finalizeDeath\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n // invariant: not called directly but from \"die\"\n this.getChildren().forEach(function (node) {\n node.finalizeDeath();\n });\n this.root.identifierCache.notifyDied(this);\n // \"kill\" the computed prop and just store the last snapshot\n var snapshot = this.snapshot;\n this._snapshotUponDeath = snapshot;\n this._internalEventsClearAll();\n this.baseFinalizeDeath();\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"onSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (onChange) {\n this._addSnapshotReaction();\n return this._internalEventsRegister(\"snapshot\" /* Snapshot */, onChange);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"emitSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n this._internalEventsEmit(\"snapshot\" /* Snapshot */, snapshot);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"onPatch\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (handler) {\n return this._internalEventsRegister(\"patch\" /* Patch */, handler);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"emitPatch\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (basePatch, source) {\n if (this._internalEventsHasSubscribers(\"patch\" /* Patch */)) {\n var localizedPatch = extend({}, basePatch, {\n path: source.path.substr(this.path.length) + \"/\" + basePatch.path // calculate the relative path of the patch\n });\n var _a = __read(splitPatch(localizedPatch), 2), patch = _a[0], reversePatch = _a[1];\n this._internalEventsEmit(\"patch\" /* Patch */, patch, reversePatch);\n }\n if (this.parent)\n this.parent.emitPatch(basePatch, source);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"hasDisposer\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (disposer) {\n return this._internalEventsHas(\"dispose\" /* Dispose */, disposer);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"addDisposer\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (disposer) {\n if (!this.hasDisposer(disposer)) {\n this._internalEventsRegister(\"dispose\" /* Dispose */, disposer, true);\n return;\n }\n throw fail(\"cannot add a disposer when it is already registered for execution\");\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"removeDisposer\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (disposer) {\n if (!this._internalEventsHas(\"dispose\" /* Dispose */, disposer)) {\n throw fail(\"cannot remove a disposer which was never registered for execution\");\n }\n this._internalEventsUnregister(\"dispose\" /* Dispose */, disposer);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"removeMiddleware\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (middleware) {\n if (this.middlewares) {\n var index = this.middlewares.indexOf(middleware);\n if (index >= 0) {\n this.middlewares.splice(index, 1);\n }\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"addMiddleWare\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (handler, includeHooks) {\n var _this = this;\n if (includeHooks === void 0) { includeHooks = true; }\n var middleware = { handler: handler, includeHooks: includeHooks };\n if (!this.middlewares)\n this.middlewares = [middleware];\n else\n this.middlewares.push(middleware);\n return function () {\n _this.removeMiddleware(middleware);\n };\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"applyPatchLocally\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (subpath, patch) {\n this.assertWritable({\n subpath: subpath\n });\n this.createObservableInstanceIfNeeded();\n this.type.applyPatchLocally(this, subpath, patch);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_addSnapshotReaction\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var _this = this;\n if (!this._hasSnapshotReaction) {\n var snapshotDisposer = reaction(function () { return _this.snapshot; }, function (snapshot) { return _this.emitSnapshot(snapshot); }, snapshotReactionOptions);\n this.addDisposer(snapshotDisposer);\n this._hasSnapshotReaction = true;\n }\n }\n });\n // we proxy the methods to avoid creating an EventHandlers instance when it is not needed\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsHasSubscribers\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n return !!this._internalEvents && this._internalEvents.hasSubscribers(event);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsRegister\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, eventHandler, atTheBeginning) {\n if (atTheBeginning === void 0) { atTheBeginning = false; }\n if (!this._internalEvents) {\n this._internalEvents = new EventHandlers();\n }\n return this._internalEvents.register(event, eventHandler, atTheBeginning);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsHas\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, eventHandler) {\n return !!this._internalEvents && this._internalEvents.has(event, eventHandler);\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsUnregister\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, eventHandler) {\n if (this._internalEvents) {\n this._internalEvents.unregister(event, eventHandler);\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsEmit\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (this._internalEvents) {\n (_a = this._internalEvents).emit.apply(_a, __spread([event], args));\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsClear\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n if (this._internalEvents) {\n this._internalEvents.clear(event);\n }\n }\n });\n Object.defineProperty(ObjectNode.prototype, \"_internalEventsClearAll\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (this._internalEvents) {\n this._internalEvents.clearAll();\n }\n }\n });\n return ObjectNode;\n}(BaseNode));\nObjectNode.prototype.createObservableInstance = action(ObjectNode.prototype.createObservableInstance);\nObjectNode.prototype.detach = action(ObjectNode.prototype.detach);\nObjectNode.prototype.die = action(ObjectNode.prototype.die);\n\nvar _a;\n/**\n * @internal\n * @hidden\n */\nvar TypeFlags;\n(function (TypeFlags) {\n TypeFlags[TypeFlags[\"String\"] = 1] = \"String\";\n TypeFlags[TypeFlags[\"Number\"] = 2] = \"Number\";\n TypeFlags[TypeFlags[\"Boolean\"] = 4] = \"Boolean\";\n TypeFlags[TypeFlags[\"Date\"] = 8] = \"Date\";\n TypeFlags[TypeFlags[\"Literal\"] = 16] = \"Literal\";\n TypeFlags[TypeFlags[\"Array\"] = 32] = \"Array\";\n TypeFlags[TypeFlags[\"Map\"] = 64] = \"Map\";\n TypeFlags[TypeFlags[\"Object\"] = 128] = \"Object\";\n TypeFlags[TypeFlags[\"Frozen\"] = 256] = \"Frozen\";\n TypeFlags[TypeFlags[\"Optional\"] = 512] = \"Optional\";\n TypeFlags[TypeFlags[\"Reference\"] = 1024] = \"Reference\";\n TypeFlags[TypeFlags[\"Identifier\"] = 2048] = \"Identifier\";\n TypeFlags[TypeFlags[\"Late\"] = 4096] = \"Late\";\n TypeFlags[TypeFlags[\"Refinement\"] = 8192] = \"Refinement\";\n TypeFlags[TypeFlags[\"Union\"] = 16384] = \"Union\";\n TypeFlags[TypeFlags[\"Null\"] = 32768] = \"Null\";\n TypeFlags[TypeFlags[\"Undefined\"] = 65536] = \"Undefined\";\n TypeFlags[TypeFlags[\"Integer\"] = 131072] = \"Integer\";\n TypeFlags[TypeFlags[\"Custom\"] = 262144] = \"Custom\";\n TypeFlags[TypeFlags[\"SnapshotProcessor\"] = 524288] = \"SnapshotProcessor\";\n TypeFlags[TypeFlags[\"Lazy\"] = 1048576] = \"Lazy\";\n TypeFlags[TypeFlags[\"Finite\"] = 2097152] = \"Finite\";\n TypeFlags[TypeFlags[\"Float\"] = 4194304] = \"Float\";\n})(TypeFlags || (TypeFlags = {}));\n/**\n * @internal\n * @hidden\n */\nvar cannotDetermineSubtype = \"cannotDetermine\";\n/** @hidden */\nvar $type = Symbol(\"$type\");\n/**\n * A base type produces a MST node (Node in the state tree)\n *\n * @internal\n * @hidden\n */\nvar BaseType = /** @class */ (function () {\n function BaseType(name) {\n Object.defineProperty(this, _a, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // these are just to make inner types avaialable to inherited classes\n Object.defineProperty(this, \"C\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"S\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"N\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = name;\n }\n Object.defineProperty(BaseType.prototype, \"create\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot, environment) {\n typecheckInternal(this, snapshot);\n return this.instantiate(null, \"\", environment, snapshot).value;\n }\n });\n Object.defineProperty(BaseType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, applyPostProcess) {\n // istanbul ignore next\n throw fail(\"unimplemented method\");\n }\n });\n Object.defineProperty(BaseType.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return type === this;\n }\n });\n Object.defineProperty(BaseType.prototype, \"validate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var node = getStateTreeNodeSafe(value);\n if (node) {\n var valueType = getType(value);\n return this.isAssignableFrom(valueType)\n ? typeCheckSuccess()\n : typeCheckFailure(context, value);\n // it is tempting to compare snapshots, but in that case we should always clone on assignments...\n }\n return this.isValidSnapshot(value, context);\n }\n });\n Object.defineProperty(BaseType.prototype, \"is\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (thing) {\n return this.validate(thing, [{ path: \"\", type: this }]).length === 0;\n }\n });\n Object.defineProperty(BaseType.prototype, \"Type\", {\n get: function () {\n // istanbul ignore next\n throw fail(\"Factory.Type should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.Type`\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseType.prototype, \"TypeWithoutSTN\", {\n get: function () {\n // istanbul ignore next\n throw fail(\"Factory.TypeWithoutSTN should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.TypeWithoutSTN`\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseType.prototype, \"SnapshotType\", {\n get: function () {\n // istanbul ignore next\n throw fail(\"Factory.SnapshotType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.SnapshotType`\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseType.prototype, \"CreationType\", {\n get: function () {\n // istanbul ignore next\n throw fail(\"Factory.CreationType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.CreationType`\");\n },\n enumerable: false,\n configurable: true\n });\n return BaseType;\n}());\n_a = $type;\nBaseType.prototype.create = action(BaseType.prototype.create);\n/**\n * A complex type produces a MST node (Node in the state tree)\n *\n * @internal\n * @hidden\n */\nvar ComplexType = /** @class */ (function (_super) {\n __extends(ComplexType, _super);\n function ComplexType(name) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"identifierAttribute\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n return _this;\n }\n Object.defineProperty(ComplexType.prototype, \"create\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot, environment) {\n if (snapshot === void 0) { snapshot = this.getDefaultSnapshot(); }\n return _super.prototype.create.call(this, snapshot, environment);\n }\n });\n Object.defineProperty(ComplexType.prototype, \"getValue\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n node.createObservableInstanceIfNeeded();\n return node.storedValue;\n }\n });\n Object.defineProperty(ComplexType.prototype, \"isMatchingSnapshotId\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, snapshot) {\n return (!current.identifierAttribute ||\n current.identifier === normalizeIdentifier(snapshot[current.identifierAttribute]));\n }\n });\n Object.defineProperty(ComplexType.prototype, \"tryToReconcileNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue) {\n if (current.isDetaching)\n return false;\n if (current.snapshot === newValue) {\n // newValue is the current snapshot of the node, noop\n return true;\n }\n if (isStateTreeNode(newValue) && getStateTreeNode(newValue) === current) {\n // the current node is the same as the new one\n return true;\n }\n if (current.type === this &&\n isMutable(newValue) &&\n !isStateTreeNode(newValue) &&\n this.isMatchingSnapshotId(current, newValue)) {\n // the newValue has no node, so can be treated like a snapshot\n // we can reconcile\n current.applySnapshot(newValue);\n return true;\n }\n return false;\n }\n });\n Object.defineProperty(ComplexType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n var nodeReconciled = this.tryToReconcileNode(current, newValue);\n if (nodeReconciled) {\n current.setParent(parent, subpath);\n return current;\n }\n // current node cannot be recycled in any way\n current.die(); // noop if detaching\n // attempt to reuse the new one\n if (isStateTreeNode(newValue) && this.isAssignableFrom(getType(newValue))) {\n // newValue is a Node as well, move it here..\n var newNode = getStateTreeNode(newValue);\n newNode.setParent(parent, subpath);\n return newNode;\n }\n // nothing to do, we have to create a new node\n return this.instantiate(parent, subpath, undefined, newValue);\n }\n });\n Object.defineProperty(ComplexType.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return null;\n }\n });\n return ComplexType;\n}(BaseType));\nComplexType.prototype.create = action(ComplexType.prototype.create);\n/**\n * @internal\n * @hidden\n */\nvar SimpleType = /** @class */ (function (_super) {\n __extends(SimpleType, _super);\n function SimpleType() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(SimpleType.prototype, \"createNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n return snapshot;\n }\n });\n Object.defineProperty(SimpleType.prototype, \"getValue\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n // if we ever find a case where scalar nodes can be accessed without iterating through its parent\n // uncomment this to make sure the parent chain is created when this is accessed\n // if (node.parent) {\n // node.parent.createObservableInstanceIfNeeded()\n // }\n return node.storedValue;\n }\n });\n Object.defineProperty(SimpleType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n return node.storedValue;\n }\n });\n Object.defineProperty(SimpleType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n // reconcile only if type and value are still the same, and only if the node is not detaching\n if (!current.isDetaching && current.type === this && current.storedValue === newValue) {\n return current;\n }\n var res = this.instantiate(parent, subpath, undefined, newValue);\n current.die(); // noop if detaching\n return res;\n }\n });\n Object.defineProperty(SimpleType.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return null;\n }\n });\n return SimpleType;\n}(BaseType));\n/**\n * Returns if a given value represents a type.\n *\n * @param value Value to check.\n * @returns `true` if the value is a type.\n */\nfunction isType(value) {\n return typeof value === \"object\" && value && value.isType === true;\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsType(type, argNumber) {\n assertArg(type, isType, \"mobx-state-tree type\", argNumber);\n}\n\nvar runningActions = new Map();\n/**\n * Note: Consider migrating to `createActionTrackingMiddleware2`, it is easier to use.\n *\n * Convenience utility to create action based middleware that supports async processes more easily.\n * All hooks are called for both synchronous and asynchronous actions. Except that either `onSuccess` or `onFail` is called\n *\n * The create middleware tracks the process of an action (assuming it passes the `filter`).\n * `onResume` can return any value, which will be passed as second argument to any other hook. This makes it possible to keep state during a process.\n *\n * See the `atomic` middleware for an example\n *\n * @param hooks\n * @returns\n */\nfunction createActionTrackingMiddleware(hooks) {\n return function actionTrackingMiddleware(call, next, abort) {\n switch (call.type) {\n case \"action\": {\n if (!hooks.filter || hooks.filter(call) === true) {\n var context = hooks.onStart(call);\n hooks.onResume(call, context);\n runningActions.set(call.id, {\n call: call,\n context: context,\n async: false\n });\n try {\n var res = next(call);\n hooks.onSuspend(call, context);\n if (runningActions.get(call.id).async === false) {\n runningActions.delete(call.id);\n hooks.onSuccess(call, context, res);\n }\n return res;\n }\n catch (e) {\n runningActions.delete(call.id);\n hooks.onFail(call, context, e);\n throw e;\n }\n }\n else {\n return next(call);\n }\n }\n case \"flow_spawn\": {\n var root = runningActions.get(call.rootId);\n root.async = true;\n return next(call);\n }\n case \"flow_resume\":\n case \"flow_resume_error\": {\n var root = runningActions.get(call.rootId);\n hooks.onResume(call, root.context);\n try {\n return next(call);\n }\n finally {\n hooks.onSuspend(call, root.context);\n }\n }\n case \"flow_throw\": {\n var root = runningActions.get(call.rootId);\n runningActions.delete(call.rootId);\n hooks.onFail(call, root.context, call.args[0]);\n return next(call);\n }\n case \"flow_return\": {\n var root = runningActions.get(call.rootId);\n runningActions.delete(call.rootId);\n hooks.onSuccess(call, root.context, call.args[0]);\n return next(call);\n }\n }\n };\n}\n\nvar RunningAction = /** @class */ (function () {\n function RunningAction(hooks, call) {\n Object.defineProperty(this, \"hooks\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: hooks\n });\n Object.defineProperty(this, \"call\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: call\n });\n Object.defineProperty(this, \"flowsPending\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"running\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n if (hooks) {\n hooks.onStart(call);\n }\n }\n Object.defineProperty(RunningAction.prototype, \"finish\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (error) {\n if (this.running) {\n this.running = false;\n if (this.hooks) {\n this.hooks.onFinish(this.call, error);\n }\n }\n }\n });\n Object.defineProperty(RunningAction.prototype, \"incFlowsPending\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.flowsPending++;\n }\n });\n Object.defineProperty(RunningAction.prototype, \"decFlowsPending\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.flowsPending--;\n }\n });\n Object.defineProperty(RunningAction.prototype, \"hasFlowsPending\", {\n get: function () {\n return this.flowsPending > 0;\n },\n enumerable: false,\n configurable: true\n });\n return RunningAction;\n}());\n/**\n * Convenience utility to create action based middleware that supports async processes more easily.\n * The flow is like this:\n * - for each action: if filter passes -> `onStart` -> (inner actions recursively) -> `onFinish`\n *\n * Example: if we had an action `a` that called inside an action `b1`, then `b2` the flow would be:\n * - `filter(a)`\n * - `onStart(a)`\n * - `filter(b1)`\n * - `onStart(b1)`\n * - `onFinish(b1)`\n * - `filter(b2)`\n * - `onStart(b2)`\n * - `onFinish(b2)`\n * - `onFinish(a)`\n *\n * The flow is the same no matter if the actions are sync or async.\n *\n * See the `atomic` middleware for an example\n *\n * @param hooks\n * @returns\n */\nfunction createActionTrackingMiddleware2(middlewareHooks) {\n var runningActions = new Map();\n return function actionTrackingMiddleware(call, next) {\n // find parentRunningAction\n var parentRunningAction = call.parentActionEvent\n ? runningActions.get(call.parentActionEvent.id)\n : undefined;\n if (call.type === \"action\") {\n var newCall = __assign(__assign({}, call), { \n // make a shallow copy of the parent action env\n env: parentRunningAction && parentRunningAction.call.env, parentCall: parentRunningAction && parentRunningAction.call });\n var passesFilter = !middlewareHooks.filter || middlewareHooks.filter(newCall);\n var hooks = passesFilter ? middlewareHooks : undefined;\n var runningAction = new RunningAction(hooks, newCall);\n runningActions.set(call.id, runningAction);\n var res = void 0;\n try {\n res = next(call);\n }\n catch (e) {\n runningActions.delete(call.id);\n runningAction.finish(e);\n throw e;\n }\n // sync action finished\n if (!runningAction.hasFlowsPending) {\n runningActions.delete(call.id);\n runningAction.finish();\n }\n return res;\n }\n else {\n if (!parentRunningAction) {\n return next(call);\n }\n switch (call.type) {\n case \"flow_spawn\": {\n parentRunningAction.incFlowsPending();\n return next(call);\n }\n case \"flow_resume\":\n case \"flow_resume_error\": {\n return next(call);\n }\n case \"flow_throw\": {\n var error = call.args[0];\n try {\n return next(call);\n }\n finally {\n parentRunningAction.decFlowsPending();\n if (!parentRunningAction.hasFlowsPending) {\n runningActions.delete(call.parentActionEvent.id);\n parentRunningAction.finish(error);\n }\n }\n }\n case \"flow_return\": {\n try {\n return next(call);\n }\n finally {\n parentRunningAction.decFlowsPending();\n if (!parentRunningAction.hasFlowsPending) {\n runningActions.delete(call.parentActionEvent.id);\n parentRunningAction.finish();\n }\n }\n }\n }\n }\n };\n}\n\nfunction serializeArgument(node, actionName, index, arg) {\n if (arg instanceof Date)\n return { $MST_DATE: arg.getTime() };\n if (isPrimitive(arg))\n return arg;\n // We should not serialize MST nodes, even if we can, because we don't know if the receiving party can handle a raw snapshot instead of an\n // MST type instance. So if one wants to serialize a MST node that was pass in, either explitly pass: 1: an id, 2: a (relative) path, 3: a snapshot\n if (isStateTreeNode(arg))\n return serializeTheUnserializable(\"[MSTNode: \" + getType(arg).name + \"]\");\n if (typeof arg === \"function\")\n return serializeTheUnserializable(\"[function]\");\n if (typeof arg === \"object\" && !isPlainObject(arg) && !isArray(arg))\n return serializeTheUnserializable(\"[object \" + ((arg && arg.constructor && arg.constructor.name) || \"Complex Object\") + \"]\");\n try {\n // Check if serializable, cycle free etc...\n // MWE: there must be a better way....\n JSON.stringify(arg); // or throws\n return arg;\n }\n catch (e) {\n return serializeTheUnserializable(\"\" + e);\n }\n}\nfunction deserializeArgument(adm, value) {\n if (value && typeof value === \"object\" && \"$MST_DATE\" in value)\n return new Date(value[\"$MST_DATE\"]);\n return value;\n}\nfunction serializeTheUnserializable(baseType) {\n return {\n $MST_UNSERIALIZABLE: true,\n type: baseType\n };\n}\n/**\n * Applies an action or a series of actions in a single MobX transaction.\n * Does not return any value\n * Takes an action description as produced by the `onAction` middleware.\n *\n * @param target\n * @param actions\n */\nfunction applyAction(target, actions) {\n // check all arguments\n assertIsStateTreeNode(target, 1);\n assertArg(actions, function (a) { return typeof a === \"object\"; }, \"object or array\", 2);\n runInAction(function () {\n asArray(actions).forEach(function (action) { return baseApplyAction(target, action); });\n });\n}\nfunction baseApplyAction(target, action) {\n var resolvedTarget = tryResolve(target, action.path || \"\");\n if (!resolvedTarget)\n throw fail(\"Invalid action path: \" + (action.path || \"\"));\n var node = getStateTreeNode(resolvedTarget);\n // Reserved functions\n if (action.name === \"@APPLY_PATCHES\") {\n return applyPatch.call(null, resolvedTarget, action.args[0]);\n }\n if (action.name === \"@APPLY_SNAPSHOT\") {\n return applySnapshot.call(null, resolvedTarget, action.args[0]);\n }\n if (!(typeof resolvedTarget[action.name] === \"function\"))\n throw fail(\"Action '\" + action.name + \"' does not exist in '\" + node.path + \"'\");\n return resolvedTarget[action.name].apply(resolvedTarget, action.args ? action.args.map(function (v) { return deserializeArgument(node, v); }) : []);\n}\n/**\n * Small abstraction around `onAction` and `applyAction`, attaches an action listener to a tree and records all the actions emitted.\n * Returns an recorder object with the following signature:\n *\n * Example:\n * ```ts\n * export interface IActionRecorder {\n * // the recorded actions\n * actions: ISerializedActionCall[]\n * // true if currently recording\n * recording: boolean\n * // stop recording actions\n * stop(): void\n * // resume recording actions\n * resume(): void\n * // apply all the recorded actions on the given object\n * replay(target: IAnyStateTreeNode): void\n * }\n * ```\n *\n * The optional filter function allows to skip recording certain actions.\n *\n * @param subject\n * @returns\n */\nfunction recordActions(subject, filter) {\n // check all arguments\n assertIsStateTreeNode(subject, 1);\n var actions = [];\n var listener = function (call) {\n var recordThis = filter ? filter(call, getRunningActionContext()) : true;\n if (recordThis) {\n actions.push(call);\n }\n };\n var disposer;\n var recorder = {\n actions: actions,\n get recording() {\n return !!disposer;\n },\n stop: function () {\n if (disposer) {\n disposer();\n disposer = undefined;\n }\n },\n resume: function () {\n if (disposer)\n return;\n disposer = onAction(subject, listener);\n },\n replay: function (target) {\n applyAction(target, actions);\n }\n };\n recorder.resume();\n return recorder;\n}\n/**\n * Registers a function that will be invoked for each action that is called on the provided model instance, or to any of its children.\n * See [actions](https://github.com/mobxjs/mobx-state-tree#actions) for more details. onAction events are emitted only for the outermost called action in the stack.\n * Action can also be intercepted by middleware using addMiddleware to change the function call before it will be run.\n *\n * Not all action arguments might be serializable. For unserializable arguments, a struct like `{ $MST_UNSERIALIZABLE: true, type: \"someType\" }` will be generated.\n * MST Nodes are considered non-serializable as well (they could be serialized as there snapshot, but it is uncertain whether an replaying party will be able to handle such a non-instantiated snapshot).\n * Rather, when using `onAction` middleware, one should consider in passing arguments which are 1: an id, 2: a (relative) path, or 3: a snapshot. Instead of a real MST node.\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.array(Todo)\n * }).actions(self => ({\n * add(todo) {\n * self.todos.push(todo);\n * }\n * }))\n *\n * const s = TodoStore.create({ todos: [] })\n *\n * let disposer = onAction(s, (call) => {\n * console.log(call);\n * })\n *\n * s.add({ task: \"Grab a coffee\" })\n * // Logs: { name: \"add\", path: \"\", args: [{ task: \"Grab a coffee\" }] }\n * ```\n *\n * @param target\n * @param listener\n * @param attachAfter (default false) fires the listener *after* the action has executed instead of before.\n * @returns\n */\nfunction onAction(target, listener, attachAfter) {\n if (attachAfter === void 0) { attachAfter = false; }\n // check all arguments\n assertIsStateTreeNode(target, 1);\n if (devMode()) {\n if (!isRoot(target))\n warnError(\"Warning: Attaching onAction listeners to non root nodes is dangerous: No events will be emitted for actions initiated higher up in the tree.\");\n if (!isProtected(target))\n warnError(\"Warning: Attaching onAction listeners to non protected nodes is dangerous: No events will be emitted for direct modifications without action.\");\n }\n return addMiddleware(target, function handler(rawCall, next) {\n if (rawCall.type === \"action\" && rawCall.id === rawCall.rootId) {\n var sourceNode_1 = getStateTreeNode(rawCall.context);\n var info = {\n name: rawCall.name,\n path: getRelativePathBetweenNodes(getStateTreeNode(target), sourceNode_1),\n args: rawCall.args.map(function (arg, index) {\n return serializeArgument(sourceNode_1, rawCall.name, index, arg);\n })\n };\n if (attachAfter) {\n var res = next(rawCall);\n listener(info);\n return res;\n }\n else {\n listener(info);\n return next(rawCall);\n }\n }\n else {\n return next(rawCall);\n }\n });\n}\n\nvar nextActionId = 1;\nvar currentActionContext;\n/**\n * @internal\n * @hidden\n */\nfunction getCurrentActionContext() {\n return currentActionContext;\n}\n/**\n * @internal\n * @hidden\n */\nfunction getNextActionId() {\n return nextActionId++;\n}\n// TODO: optimize away entire action context if there is no middleware in tree?\n/**\n * @internal\n * @hidden\n */\nfunction runWithActionContext(context, fn) {\n var node = getStateTreeNode(context.context);\n if (context.type === \"action\") {\n node.assertAlive({\n actionContext: context\n });\n }\n var baseIsRunningAction = node._isRunningAction;\n node._isRunningAction = true;\n var previousContext = currentActionContext;\n currentActionContext = context;\n try {\n return runMiddleWares(node, context, fn);\n }\n finally {\n currentActionContext = previousContext;\n node._isRunningAction = baseIsRunningAction;\n }\n}\n/**\n * @internal\n * @hidden\n */\nfunction getParentActionContext(parentContext) {\n if (!parentContext)\n return undefined;\n if (parentContext.type === \"action\")\n return parentContext;\n return parentContext.parentActionEvent;\n}\n/**\n * @internal\n * @hidden\n */\nfunction createActionInvoker(target, name, fn) {\n var res = function () {\n var id = getNextActionId();\n var parentContext = currentActionContext;\n var parentActionContext = getParentActionContext(parentContext);\n return runWithActionContext({\n type: \"action\",\n name: name,\n id: id,\n args: argsToArray(arguments),\n context: target,\n tree: getRoot(target),\n rootId: parentContext ? parentContext.rootId : id,\n parentId: parentContext ? parentContext.id : 0,\n allParentIds: parentContext ? __spread(parentContext.allParentIds, [parentContext.id]) : [],\n parentEvent: parentContext,\n parentActionEvent: parentActionContext\n }, fn);\n };\n res._isMSTAction = true;\n res._isFlowAction = fn._isFlowAction;\n return res;\n}\n/**\n * Middleware can be used to intercept any action is invoked on the subtree where it is attached.\n * If a tree is protected (by default), this means that any mutation of the tree will pass through your middleware.\n *\n * For more details, see the [middleware docs](concepts/middleware.md)\n *\n * @param target Node to apply the middleware to.\n * @param middleware Middleware to apply.\n * @returns A callable function to dispose the middleware.\n */\nfunction addMiddleware(target, handler, includeHooks) {\n if (includeHooks === void 0) { includeHooks = true; }\n var node = getStateTreeNode(target);\n if (devMode()) {\n if (!node.isProtectionEnabled) {\n warnError(\"It is recommended to protect the state tree before attaching action middleware, as otherwise it cannot be guaranteed that all changes are passed through middleware. See `protect`\");\n }\n }\n return node.addMiddleWare(handler, includeHooks);\n}\n/**\n * Binds middleware to a specific action.\n *\n * Example:\n * ```ts\n * type.actions(self => {\n * function takeA____() {\n * self.toilet.donate()\n * self.wipe()\n * self.wipe()\n * self.toilet.flush()\n * }\n * return {\n * takeA____: decorate(atomic, takeA____)\n * }\n * })\n * ```\n *\n * @param handler\n * @param fn\n * @param includeHooks\n * @returns The original function\n */\nfunction decorate(handler, fn, includeHooks) {\n if (includeHooks === void 0) { includeHooks = true; }\n var middleware = { handler: handler, includeHooks: includeHooks };\n fn.$mst_middleware = fn.$mst_middleware || [];\n fn.$mst_middleware.push(middleware);\n return fn;\n}\nvar CollectedMiddlewares = /** @class */ (function () {\n function CollectedMiddlewares(node, fn) {\n Object.defineProperty(this, \"arrayIndex\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"inArrayIndex\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"middlewares\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n // we just push middleware arrays into an array of arrays to avoid making copies\n if (fn.$mst_middleware) {\n this.middlewares.push(fn.$mst_middleware);\n }\n var n = node;\n // Find all middlewares. Optimization: cache this?\n while (n) {\n if (n.middlewares)\n this.middlewares.push(n.middlewares);\n n = n.parent;\n }\n }\n Object.defineProperty(CollectedMiddlewares.prototype, \"isEmpty\", {\n get: function () {\n return this.middlewares.length <= 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CollectedMiddlewares.prototype, \"getNextMiddleware\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var array = this.middlewares[this.arrayIndex];\n if (!array)\n return undefined;\n var item = array[this.inArrayIndex++];\n if (!item) {\n this.arrayIndex++;\n this.inArrayIndex = 0;\n return this.getNextMiddleware();\n }\n return item;\n }\n });\n return CollectedMiddlewares;\n}());\nfunction runMiddleWares(node, baseCall, originalFn) {\n var middlewares = new CollectedMiddlewares(node, originalFn);\n // Short circuit\n if (middlewares.isEmpty)\n return action(originalFn).apply(null, baseCall.args);\n var result = null;\n function runNextMiddleware(call) {\n var middleware = middlewares.getNextMiddleware();\n var handler = middleware && middleware.handler;\n if (!handler) {\n return action(originalFn).apply(null, call.args);\n }\n // skip hooks if asked to\n if (!middleware.includeHooks && Hook[call.name]) {\n return runNextMiddleware(call);\n }\n var nextInvoked = false;\n function next(call2, callback) {\n nextInvoked = true;\n // the result can contain\n // - the non manipulated return value from an action\n // - the non manipulated abort value\n // - one of the above but manipulated through the callback function\n result = runNextMiddleware(call2);\n if (callback) {\n result = callback(result);\n }\n }\n var abortInvoked = false;\n function abort(value) {\n abortInvoked = true;\n // overwrite the result\n // can be manipulated through middlewares earlier in the queue using the callback fn\n result = value;\n }\n handler(call, next, abort);\n if (devMode()) {\n if (!nextInvoked && !abortInvoked) {\n var node2 = getStateTreeNode(call.tree);\n throw fail(\"Neither the next() nor the abort() callback within the middleware \" + handler.name + \" for the action: \\\"\" + call.name + \"\\\" on the node: \" + node2.type.name + \" was invoked.\");\n }\n else if (nextInvoked && abortInvoked) {\n var node2 = getStateTreeNode(call.tree);\n throw fail(\"The next() and abort() callback within the middleware \" + handler.name + \" for the action: \\\"\" + call.name + \"\\\" on the node: \" + node2.type.name + \" were invoked.\");\n }\n }\n return result;\n }\n return runNextMiddleware(baseCall);\n}\n\n/**\n * Returns the currently executing MST action context, or undefined if none.\n */\nfunction getRunningActionContext() {\n var current = getCurrentActionContext();\n while (current && current.type !== \"action\") {\n current = current.parentActionEvent;\n }\n return current;\n}\nfunction _isActionContextThisOrChildOf(actionContext, sameOrParent, includeSame) {\n var parentId = typeof sameOrParent === \"number\" ? sameOrParent : sameOrParent.id;\n var current = includeSame\n ? actionContext\n : actionContext.parentActionEvent;\n while (current) {\n if (current.id === parentId) {\n return true;\n }\n current = current.parentActionEvent;\n }\n return false;\n}\n/**\n * Returns if the given action context is a parent of this action context.\n */\nfunction isActionContextChildOf(actionContext, parent) {\n return _isActionContextThisOrChildOf(actionContext, parent, false);\n}\n/**\n * Returns if the given action context is this or a parent of this action context.\n */\nfunction isActionContextThisOrChildOf(actionContext, parentOrThis) {\n return _isActionContextThisOrChildOf(actionContext, parentOrThis, true);\n}\n\nfunction safeStringify(value) {\n try {\n return JSON.stringify(value);\n }\n catch (e) {\n // istanbul ignore next\n return \"<Unserializable: \" + e + \">\";\n }\n}\n/**\n * @internal\n * @hidden\n */\nfunction prettyPrintValue(value) {\n return typeof value === \"function\"\n ? \"<function\" + (value.name ? \" \" + value.name : \"\") + \">\"\n : isStateTreeNode(value)\n ? \"<\" + value + \">\"\n : \"`\" + safeStringify(value) + \"`\";\n}\nfunction shortenPrintValue(valueInString) {\n return valueInString.length < 280\n ? valueInString\n : valueInString.substring(0, 272) + \"......\" + valueInString.substring(valueInString.length - 8);\n}\nfunction toErrorString(error) {\n var value = error.value;\n var type = error.context[error.context.length - 1].type;\n var fullPath = error.context\n .map(function (_a) {\n var path = _a.path;\n return path;\n })\n .filter(function (path) { return path.length > 0; })\n .join(\"/\");\n var pathPrefix = fullPath.length > 0 ? \"at path \\\"/\" + fullPath + \"\\\" \" : \"\";\n var currentTypename = isStateTreeNode(value)\n ? \"value of type \" + getStateTreeNode(value).type.name + \":\"\n : isPrimitive(value)\n ? \"value\"\n : \"snapshot\";\n var isSnapshotCompatible = type && isStateTreeNode(value) && type.is(getStateTreeNode(value).snapshot);\n return (\"\" + pathPrefix + currentTypename + \" \" + prettyPrintValue(value) + \" is not assignable \" + (type ? \"to type: `\" + type.name + \"`\" : \"\") +\n (error.message ? \" (\" + error.message + \")\" : \"\") +\n (type\n ? isPrimitiveType(type) || isPrimitive(value)\n ? \".\"\n : \", expected an instance of `\" + type.name + \"` or a snapshot like `\" + type.describe() + \"` instead.\" +\n (isSnapshotCompatible\n ? \" (Note that a snapshot of the provided value is compatible with the targeted type)\"\n : \"\")\n : \".\"));\n}\n/**\n * @internal\n * @hidden\n */\nfunction getContextForPath(context, path, type) {\n return context.concat([{ path: path, type: type }]);\n}\n/**\n * @internal\n * @hidden\n */\nfunction typeCheckSuccess() {\n return EMPTY_ARRAY;\n}\n/**\n * @internal\n * @hidden\n */\nfunction typeCheckFailure(context, value, message) {\n return [{ context: context, value: value, message: message }];\n}\n/**\n * @internal\n * @hidden\n */\nfunction flattenTypeErrors(errors) {\n return errors.reduce(function (a, i) { return a.concat(i); }, []);\n}\n// TODO; doublecheck: typecheck should only needed to be invoked from: type.create and array / map / value.property will change\n/**\n * @internal\n * @hidden\n */\nfunction typecheckInternal(type, value) {\n // runs typeChecking if it is in dev-mode or through a process.env.ENABLE_TYPE_CHECK flag\n if (isTypeCheckingEnabled()) {\n typecheck(type, value);\n }\n}\n/**\n * Run's the typechecker for the given type on the given value, which can be a snapshot or an instance.\n * Throws if the given value is not according the provided type specification.\n * Use this if you need typechecks even in a production build (by default all automatic runtime type checks will be skipped in production builds)\n *\n * @param type Type to check against.\n * @param value Value to be checked, either a snapshot or an instance.\n */\nfunction typecheck(type, value) {\n var errors = type.validate(value, [{ path: \"\", type: type }]);\n if (errors.length > 0) {\n throw fail(validationErrorsToString(type, value, errors));\n }\n}\nfunction validationErrorsToString(type, value, errors) {\n if (errors.length === 0) {\n return undefined;\n }\n return (\"Error while converting \" + shortenPrintValue(prettyPrintValue(value)) + \" to `\" + type.name + \"`:\\n\\n \" + errors.map(toErrorString).join(\"\\n \"));\n}\n\nvar identifierCacheId = 0;\n/**\n * @internal\n * @hidden\n */\nvar IdentifierCache = /** @class */ (function () {\n function IdentifierCache() {\n Object.defineProperty(this, \"cacheId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: identifierCacheId++\n });\n // n.b. in cache all identifiers are normalized to strings\n Object.defineProperty(this, \"cache\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: observable.map()\n });\n // last time the cache (array) for a given time changed\n // n.b. it is not really the time, but just an integer that gets increased after each modification to the array\n Object.defineProperty(this, \"lastCacheModificationPerId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: observable.map()\n });\n }\n Object.defineProperty(IdentifierCache.prototype, \"updateLastCacheModificationPerId\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (identifier) {\n var lcm = this.lastCacheModificationPerId.get(identifier);\n // we start at 1 since 0 means no update since cache creation\n this.lastCacheModificationPerId.set(identifier, lcm === undefined ? 1 : lcm + 1);\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"getLastCacheModificationPerId\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (identifier) {\n var modificationId = this.lastCacheModificationPerId.get(identifier) || 0;\n return this.cacheId + \"-\" + modificationId;\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"addNodeToCache\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, lastCacheUpdate) {\n if (lastCacheUpdate === void 0) { lastCacheUpdate = true; }\n if (node.identifierAttribute) {\n var identifier = node.identifier;\n if (!this.cache.has(identifier)) {\n this.cache.set(identifier, observable.array([], mobxShallow));\n }\n var set = this.cache.get(identifier);\n if (set.indexOf(node) !== -1)\n throw fail(\"Already registered\");\n set.push(node);\n if (lastCacheUpdate) {\n this.updateLastCacheModificationPerId(identifier);\n }\n }\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"mergeCache\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n var _this = this;\n values(node.identifierCache.cache).forEach(function (nodes) {\n return nodes.forEach(function (child) {\n _this.addNodeToCache(child);\n });\n });\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"notifyDied\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n if (node.identifierAttribute) {\n var id = node.identifier;\n var set = this.cache.get(id);\n if (set) {\n set.remove(node);\n // remove empty sets from cache\n if (!set.length) {\n this.cache.delete(id);\n }\n this.updateLastCacheModificationPerId(node.identifier);\n }\n }\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"splitCache\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (splitNode) {\n var _this = this;\n var newCache = new IdentifierCache();\n // The slash is added here so we only match children of the splitNode. In version 5.1.8 and\n // earlier there was no trailing slash, so non children that started with the same path string\n // were being matched incorrectly.\n var basePath = splitNode.path + \"/\";\n entries(this.cache).forEach(function (_a) {\n var _b = __read(_a, 2), id = _b[0], nodes = _b[1];\n var modified = false;\n for (var i = nodes.length - 1; i >= 0; i--) {\n var node = nodes[i];\n if (node === splitNode || node.path.indexOf(basePath) === 0) {\n newCache.addNodeToCache(node, false); // no need to update lastUpdated since it is a whole new cache\n nodes.splice(i, 1);\n // remove empty sets from cache\n if (!nodes.length) {\n _this.cache.delete(id);\n }\n modified = true;\n }\n }\n if (modified) {\n _this.updateLastCacheModificationPerId(id);\n }\n });\n return newCache;\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"has\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type, identifier) {\n var set = this.cache.get(identifier);\n if (!set)\n return false;\n return set.some(function (candidate) { return type.isAssignableFrom(candidate.type); });\n }\n });\n Object.defineProperty(IdentifierCache.prototype, \"resolve\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type, identifier) {\n var set = this.cache.get(identifier);\n if (!set)\n return null;\n var matches = set.filter(function (candidate) { return type.isAssignableFrom(candidate.type); });\n switch (matches.length) {\n case 0:\n return null;\n case 1:\n return matches[0];\n default:\n throw fail(\"Cannot resolve a reference to type '\" + type.name + \"' with id: '\" + identifier + \"' unambigously, there are multiple candidates: \" + matches\n .map(function (n) { return n.path; })\n .join(\", \"));\n }\n }\n });\n return IdentifierCache;\n}());\n\n/**\n * @internal\n * @hidden\n */\nfunction createObjectNode(type, parent, subpath, environment, initialValue) {\n var existingNode = getStateTreeNodeSafe(initialValue);\n if (existingNode) {\n if (existingNode.parent) {\n // istanbul ignore next\n throw fail(\"Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '\" + (parent ? parent.path : \"\") + \"/\" + subpath + \"', but it lives already at '\" + existingNode.path + \"'\");\n }\n if (parent) {\n existingNode.setParent(parent, subpath);\n }\n // else it already has no parent since it is a pre-requisite\n return existingNode;\n }\n // not a node, a snapshot\n return new ObjectNode(type, parent, subpath, environment, initialValue);\n}\n/**\n * @internal\n * @hidden\n */\nfunction createScalarNode(type, parent, subpath, environment, initialValue) {\n return new ScalarNode(type, parent, subpath, environment, initialValue);\n}\n/**\n * @internal\n * @hidden\n */\nfunction isNode(value) {\n return value instanceof ScalarNode || value instanceof ObjectNode;\n}\n\n/**\n * @internal\n * @hidden\n */\nvar NodeLifeCycle;\n(function (NodeLifeCycle) {\n NodeLifeCycle[NodeLifeCycle[\"INITIALIZING\"] = 0] = \"INITIALIZING\";\n NodeLifeCycle[NodeLifeCycle[\"CREATED\"] = 1] = \"CREATED\";\n NodeLifeCycle[NodeLifeCycle[\"FINALIZED\"] = 2] = \"FINALIZED\";\n NodeLifeCycle[NodeLifeCycle[\"DETACHING\"] = 3] = \"DETACHING\";\n NodeLifeCycle[NodeLifeCycle[\"DEAD\"] = 4] = \"DEAD\"; // no coming back from this one\n})(NodeLifeCycle || (NodeLifeCycle = {}));\n/**\n * Returns true if the given value is a node in a state tree.\n * More precisely, that is, if the value is an instance of a\n * `types.model`, `types.array` or `types.map`.\n *\n * @param value\n * @returns true if the value is a state tree node.\n */\nfunction isStateTreeNode(value) {\n return !!(value && value.$treenode);\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsStateTreeNode(value, argNumber) {\n assertArg(value, isStateTreeNode, \"mobx-state-tree node\", argNumber);\n}\n/**\n * @internal\n * @hidden\n */\nfunction getStateTreeNode(value) {\n if (!isStateTreeNode(value)) {\n // istanbul ignore next\n throw fail(\"Value \" + value + \" is no MST Node\");\n }\n return value.$treenode;\n}\n/**\n * @internal\n * @hidden\n */\nfunction getStateTreeNodeSafe(value) {\n return (value && value.$treenode) || null;\n}\n/**\n * @internal\n * @hidden\n */\nfunction toJSON() {\n return getStateTreeNode(this).snapshot;\n}\nvar doubleDot = function (_) { return \"..\"; };\n/**\n * @internal\n * @hidden\n */\nfunction getRelativePathBetweenNodes(base, target) {\n // PRE condition target is (a child of) base!\n if (base.root !== target.root) {\n throw fail(\"Cannot calculate relative path: objects '\" + base + \"' and '\" + target + \"' are not part of the same object tree\");\n }\n var baseParts = splitJsonPath(base.path);\n var targetParts = splitJsonPath(target.path);\n var common = 0;\n for (; common < baseParts.length; common++) {\n if (baseParts[common] !== targetParts[common])\n break;\n }\n // TODO: assert that no targetParts paths are \"..\", \".\" or \"\"!\n return baseParts.slice(common).map(doubleDot).join(\"/\") + joinJsonPath(targetParts.slice(common));\n}\n/**\n * @internal\n * @hidden\n */\nfunction resolveNodeByPath(base, path, failIfResolveFails) {\n if (failIfResolveFails === void 0) { failIfResolveFails = true; }\n return resolveNodeByPathParts(base, splitJsonPath(path), failIfResolveFails);\n}\n/**\n * @internal\n * @hidden\n */\nfunction resolveNodeByPathParts(base, pathParts, failIfResolveFails) {\n if (failIfResolveFails === void 0) { failIfResolveFails = true; }\n var current = base;\n try {\n for (var i = 0; i < pathParts.length; i++) {\n var part = pathParts[i];\n if (part === \"..\") {\n current = current.parent;\n if (current)\n continue; // not everything has a parent\n }\n else if (part === \".\") {\n continue;\n }\n else if (current) {\n if (current instanceof ScalarNode) {\n // check if the value of a scalar resolves to a state tree node (e.g. references)\n // then we can continue resolving...\n var value = current.value;\n if (isStateTreeNode(value)) {\n current = getStateTreeNode(value);\n // fall through\n }\n }\n if (current instanceof ObjectNode) {\n var subType = current.getChildType(part);\n if (subType) {\n current = current.getChildNode(part);\n if (current)\n continue;\n }\n }\n }\n throw fail(\"Could not resolve '\" + part + \"' in path '\" + (joinJsonPath(pathParts.slice(0, i)) || \"/\") + \"' while resolving '\" + joinJsonPath(pathParts) + \"'\");\n }\n }\n catch (e) {\n if (!failIfResolveFails) {\n return undefined;\n }\n throw e;\n }\n return current;\n}\n/**\n * @internal\n * @hidden\n */\nfunction convertChildNodesToArray(childNodes) {\n if (!childNodes)\n return EMPTY_ARRAY;\n var keys = Object.keys(childNodes);\n if (!keys.length)\n return EMPTY_ARRAY;\n var result = new Array(keys.length);\n keys.forEach(function (key, index) {\n result[index] = childNodes[key];\n });\n return result;\n}\n\n// based on: https://github.com/mobxjs/mobx-utils/blob/master/src/async-action.ts\n/*\n All contents of this file are deprecated.\n\n The term `process` has been replaced with `flow` to avoid conflicts with the\n global `process` object.\n\n Refer to `flow.ts` for any further changes to this implementation.\n*/\nvar DEPRECATION_MESSAGE = \"See https://github.com/mobxjs/mobx-state-tree/issues/399 for more information. \" +\n \"Note that the middleware event types starting with `process` now start with `flow`.\";\n/**\n * @hidden\n *\n * @deprecated has been renamed to `flow()`.\n * See https://github.com/mobxjs/mobx-state-tree/issues/399 for more information.\n * Note that the middleware event types starting with `process` now start with `flow`.\n *\n * @returns {Promise}\n */\nfunction process$1(asyncAction) {\n deprecated(\"process\", \"`process()` has been renamed to `flow()`. \" + DEPRECATION_MESSAGE);\n return flow(asyncAction);\n}\n\nvar plainObjectString = Object.toString();\n/**\n * @internal\n * @hidden\n */\nvar EMPTY_ARRAY = Object.freeze([]);\n/**\n * @internal\n * @hidden\n */\nvar EMPTY_OBJECT = Object.freeze({});\n/**\n * @internal\n * @hidden\n */\nvar mobxShallow = _getGlobalState().useProxies\n ? { deep: false }\n : { deep: false, proxy: false };\nObject.freeze(mobxShallow);\n/**\n * @internal\n * @hidden\n */\nfunction fail(message) {\n if (message === void 0) { message = \"Illegal state\"; }\n return new Error(\"[mobx-state-tree] \" + message);\n}\n/**\n * @internal\n * @hidden\n */\nfunction identity(_) {\n return _;\n}\n/**\n * @internal\n * @hidden\n */\nvar isInteger = Number.isInteger;\n/**\n * @internal\n * @hidden\n */\nfunction isFloat(val) {\n return Number(val) === val && val % 1 !== 0;\n}\n/**\n * @internal\n * @hidden\n */\nfunction isFinite(val) {\n return Number.isFinite(val);\n}\n/**\n * @internal\n * @hidden\n */\nfunction isArray(val) {\n return Array.isArray(val) || isObservableArray(val);\n}\n/**\n * @internal\n * @hidden\n */\nfunction asArray(val) {\n if (!val)\n return EMPTY_ARRAY;\n if (isArray(val))\n return val;\n return [val];\n}\n/**\n * @internal\n * @hidden\n */\nfunction extend(a) {\n var b = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n b[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < b.length; i++) {\n var current = b[i];\n for (var key in current)\n a[key] = current[key];\n }\n return a;\n}\n/**\n * @internal\n * @hidden\n */\nfunction isPlainObject(value) {\n var _a;\n if (value === null || typeof value !== \"object\")\n return false;\n var proto = Object.getPrototypeOf(value);\n if (proto == null)\n return true;\n return ((_a = proto.constructor) === null || _a === void 0 ? void 0 : _a.toString()) === plainObjectString;\n}\n/**\n * @internal\n * @hidden\n */\nfunction isMutable(value) {\n return (value !== null &&\n typeof value === \"object\" &&\n !(value instanceof Date) &&\n !(value instanceof RegExp));\n}\n/**\n * @internal\n * @hidden\n */\nfunction isPrimitive(value, includeDate) {\n if (includeDate === void 0) { includeDate = true; }\n return (value === null ||\n value === undefined ||\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n (includeDate && value instanceof Date));\n}\n/**\n * @internal\n * @hidden\n * Freeze a value and return it (if not in production)\n */\nfunction freeze(value) {\n if (!devMode())\n return value;\n return isPrimitive(value) || isObservableArray(value) ? value : Object.freeze(value);\n}\n/**\n * @internal\n * @hidden\n * Recursively freeze a value (if not in production)\n */\nfunction deepFreeze(value) {\n if (!devMode())\n return value;\n freeze(value);\n if (isPlainObject(value)) {\n Object.keys(value).forEach(function (propKey) {\n if (!isPrimitive(value[propKey]) && !Object.isFrozen(value[propKey])) {\n deepFreeze(value[propKey]);\n }\n });\n }\n return value;\n}\n/**\n * @internal\n * @hidden\n */\nfunction isSerializable(value) {\n return typeof value !== \"function\";\n}\n/**\n * @internal\n * @hidden\n */\nfunction defineProperty(object, key, descriptor) {\n isObservableObject(object)\n ? defineProperty$1(object, key, descriptor)\n : Object.defineProperty(object, key, descriptor);\n}\n/**\n * @internal\n * @hidden\n */\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\n/**\n * @internal\n * @hidden\n */\nfunction addHiddenWritableProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\n/**\n * @internal\n * @hidden\n */\nvar EventHandler = /** @class */ (function () {\n function EventHandler() {\n Object.defineProperty(this, \"handlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n Object.defineProperty(EventHandler.prototype, \"hasSubscribers\", {\n get: function () {\n return this.handlers.length > 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventHandler.prototype, \"register\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn, atTheBeginning) {\n var _this = this;\n if (atTheBeginning === void 0) { atTheBeginning = false; }\n if (atTheBeginning) {\n this.handlers.unshift(fn);\n }\n else {\n this.handlers.push(fn);\n }\n return function () {\n _this.unregister(fn);\n };\n }\n });\n Object.defineProperty(EventHandler.prototype, \"has\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n return this.handlers.indexOf(fn) >= 0;\n }\n });\n Object.defineProperty(EventHandler.prototype, \"unregister\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var index = this.handlers.indexOf(fn);\n if (index >= 0) {\n this.handlers.splice(index, 1);\n }\n }\n });\n Object.defineProperty(EventHandler.prototype, \"clear\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.handlers.length = 0;\n }\n });\n Object.defineProperty(EventHandler.prototype, \"emit\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // make a copy just in case it changes\n var handlers = this.handlers.slice();\n handlers.forEach(function (f) { return f.apply(void 0, __spread(args)); });\n }\n });\n return EventHandler;\n}());\n/**\n * @internal\n * @hidden\n */\nvar EventHandlers = /** @class */ (function () {\n function EventHandlers() {\n Object.defineProperty(this, \"eventHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n Object.defineProperty(EventHandlers.prototype, \"hasSubscribers\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n var handler = this.eventHandlers && this.eventHandlers[event];\n return !!handler && handler.hasSubscribers;\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"register\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, fn, atTheBeginning) {\n if (atTheBeginning === void 0) { atTheBeginning = false; }\n if (!this.eventHandlers) {\n this.eventHandlers = {};\n }\n var handler = this.eventHandlers[event];\n if (!handler) {\n handler = this.eventHandlers[event] = new EventHandler();\n }\n return handler.register(fn, atTheBeginning);\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"has\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, fn) {\n var handler = this.eventHandlers && this.eventHandlers[event];\n return !!handler && handler.has(fn);\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"unregister\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event, fn) {\n var handler = this.eventHandlers && this.eventHandlers[event];\n if (handler) {\n handler.unregister(fn);\n }\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"clear\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n if (this.eventHandlers) {\n delete this.eventHandlers[event];\n }\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"clearAll\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n this.eventHandlers = undefined;\n }\n });\n Object.defineProperty(EventHandlers.prototype, \"emit\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (event) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var handler = this.eventHandlers && this.eventHandlers[event];\n if (handler) {\n (_a = handler).emit.apply(_a, __spread(args));\n }\n }\n });\n return EventHandlers;\n}());\n/**\n * @internal\n * @hidden\n */\nfunction argsToArray(args) {\n var res = new Array(args.length);\n for (var i = 0; i < args.length; i++)\n res[i] = args[i];\n return res;\n}\n/**\n * @internal\n * @hidden\n */\nfunction stringStartsWith(str, beginning) {\n return str.indexOf(beginning) === 0;\n}\n/**\n * @internal\n * @hidden\n */\nvar deprecated = function (id, message) {\n // skip if running production\n if (!devMode())\n return;\n // warn if hasn't been warned before\n if (deprecated.ids && !deprecated.ids.hasOwnProperty(id)) {\n warnError(\"Deprecation warning: \" + message);\n }\n // mark as warned to avoid duplicate warn message\n if (deprecated.ids)\n deprecated.ids[id] = true;\n};\ndeprecated.ids = {};\n/**\n * @internal\n * @hidden\n */\nfunction warnError(msg) {\n console.warn(new Error(\"[mobx-state-tree] \" + msg));\n}\n/**\n * @internal\n * @hidden\n */\nfunction isTypeCheckingEnabled() {\n return (devMode() ||\n (typeof process !== \"undefined\" && process.env && process.env.ENABLE_TYPE_CHECK === \"true\"));\n}\n/**\n * @internal\n * @hidden\n */\nfunction devMode() {\n return process.env.NODE_ENV !== \"production\";\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertArg(value, fn, typeName, argNumber) {\n if (devMode()) {\n if (!fn(value)) {\n // istanbul ignore next\n throw fail(\"expected \" + typeName + \" as argument \" + asArray(argNumber).join(\" or \") + \", got \" + value + \" instead\");\n }\n }\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsFunction(value, argNumber) {\n assertArg(value, function (fn) { return typeof fn === \"function\"; }, \"function\", argNumber);\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsNumber(value, argNumber, min, max) {\n assertArg(value, function (n) { return typeof n === \"number\"; }, \"number\", argNumber);\n if (min !== undefined) {\n assertArg(value, function (n) { return n >= min; }, \"number greater than \" + min, argNumber);\n }\n if (max !== undefined) {\n assertArg(value, function (n) { return n <= max; }, \"number lesser than \" + max, argNumber);\n }\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsString(value, argNumber, canBeEmpty) {\n if (canBeEmpty === void 0) { canBeEmpty = true; }\n assertArg(value, function (s) { return typeof s === \"string\"; }, \"string\", argNumber);\n if (!canBeEmpty) {\n assertArg(value, function (s) { return s !== \"\"; }, \"not empty string\", argNumber);\n }\n}\n/**\n * @internal\n * @hidden\n */\nfunction setImmediateWithFallback(fn) {\n if (typeof queueMicrotask === \"function\") {\n queueMicrotask(fn);\n }\n else if (typeof setImmediate === \"function\") {\n setImmediate(fn);\n }\n else {\n setTimeout(fn, 1);\n }\n}\n\n/**\n * See [asynchronous actions](concepts/async-actions.md).\n *\n * @returns The flow as a promise.\n */\nfunction flow(generator) {\n return createFlowSpawner(generator.name, generator);\n}\n/**\n * @deprecated Not needed since TS3.6.\n * Used for TypeScript to make flows that return a promise return the actual promise result.\n *\n * @param val\n * @returns\n */\nfunction castFlowReturn(val) {\n return val;\n}\n/**\n * @experimental\n * experimental api - might change on minor/patch releases\n *\n * Convert a promise-returning function to a generator-returning one.\n * This is intended to allow for usage of `yield*` in async actions to\n * retain the promise return type.\n *\n * Example:\n * ```ts\n * function getDataAsync(input: string): Promise<number> { ... }\n * const getDataGen = toGeneratorFunction(getDataAsync);\n *\n * const someModel.actions(self => ({\n * someAction: flow(function*() {\n * // value is typed as number\n * const value = yield* getDataGen(\"input value\");\n * ...\n * })\n * }))\n * ```\n */\nfunction toGeneratorFunction(p) {\n return function () {\n var _i;\n var args = [];\n for (_i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, p.apply(void 0, __spread(args))];\n case 1: return [2 /*return*/, (_a.sent())];\n }\n });\n };\n}\n/**\n * @experimental\n * experimental api - might change on minor/patch releases\n *\n * Convert a promise to a generator yielding that promise\n * This is intended to allow for usage of `yield*` in async actions to\n * retain the promise return type.\n *\n * Example:\n * ```ts\n * function getDataAsync(input: string): Promise<number> { ... }\n *\n * const someModel.actions(self => ({\n * someAction: flow(function*() {\n * // value is typed as number\n * const value = yield* toGenerator(getDataAsync(\"input value\"));\n * ...\n * })\n * }))\n * ```\n */\nfunction toGenerator(p) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, p];\n case 1: return [2 /*return*/, (_a.sent())];\n }\n });\n}\n/**\n * @internal\n * @hidden\n */\nfunction createFlowSpawner(name, generator) {\n var spawner = function flowSpawner() {\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var runId = getNextActionId();\n var parentContext = getCurrentActionContext();\n if (!parentContext) {\n throw fail(\"a mst flow must always have a parent context\");\n }\n var parentActionContext = getParentActionContext(parentContext);\n if (!parentActionContext) {\n throw fail(\"a mst flow must always have a parent action context\");\n }\n var contextBase = {\n name: name,\n id: runId,\n tree: parentContext.tree,\n context: parentContext.context,\n parentId: parentContext.id,\n allParentIds: __spread(parentContext.allParentIds, [parentContext.id]),\n rootId: parentContext.rootId,\n parentEvent: parentContext,\n parentActionEvent: parentActionContext\n };\n var args = arguments;\n function wrap(fn, type, arg) {\n fn.$mst_middleware = spawner.$mst_middleware; // pick up any middleware attached to the flow\n return runWithActionContext(__assign(__assign({}, contextBase), { type: type, args: [arg] }), fn);\n }\n return new Promise(function (resolve, reject) {\n var gen;\n var init = function asyncActionInit() {\n gen = generator.apply(null, arguments);\n onFulfilled(undefined); // kick off the flow\n };\n init.$mst_middleware = spawner.$mst_middleware;\n runWithActionContext(__assign(__assign({}, contextBase), { type: \"flow_spawn\", args: argsToArray(args) }), init);\n function onFulfilled(res) {\n var ret;\n try {\n // prettier-ignore\n var cancelError = wrap(function (r) { ret = gen.next(r); }, \"flow_resume\", res);\n if (cancelError instanceof Error) {\n ret = gen.throw(cancelError);\n }\n }\n catch (e) {\n // prettier-ignore\n setImmediateWithFallback(function () {\n wrap(function (r) { reject(e); }, \"flow_throw\", e);\n });\n return;\n }\n next(ret);\n return;\n }\n function onRejected(err) {\n var ret;\n try {\n // prettier-ignore\n wrap(function (r) { ret = gen.throw(r); }, \"flow_resume_error\", err); // or yieldError?\n }\n catch (e) {\n // prettier-ignore\n setImmediateWithFallback(function () {\n wrap(function (r) { reject(e); }, \"flow_throw\", e);\n });\n return;\n }\n next(ret);\n }\n function next(ret) {\n if (ret.done) {\n // prettier-ignore\n setImmediateWithFallback(function () {\n wrap(function (r) { resolve(r); }, \"flow_return\", ret.value);\n });\n return;\n }\n // TODO: support more type of values? See https://github.com/tj/co/blob/249bbdc72da24ae44076afd716349d2089b31c4c/index.js#L100\n if (!ret.value || typeof ret.value.then !== \"function\") {\n // istanbul ignore next\n throw fail(\"Only promises can be yielded to `async`, got: \" + ret);\n }\n return ret.value.then(onFulfilled, onRejected);\n }\n });\n };\n spawner._isFlowAction = true;\n return spawner;\n}\n\n/**\n * @internal\n * @hidden\n */\nfunction splitPatch(patch) {\n if (!(\"oldValue\" in patch))\n throw fail(\"Patches without `oldValue` field cannot be inversed\");\n return [stripPatch(patch), invertPatch(patch)];\n}\n/**\n * @internal\n * @hidden\n */\nfunction stripPatch(patch) {\n // strips `oldvalue` information from the patch, so that it becomes a patch conform the json-patch spec\n // this removes the ability to undo the patch\n switch (patch.op) {\n case \"add\":\n return { op: \"add\", path: patch.path, value: patch.value };\n case \"remove\":\n return { op: \"remove\", path: patch.path };\n case \"replace\":\n return { op: \"replace\", path: patch.path, value: patch.value };\n }\n}\nfunction invertPatch(patch) {\n switch (patch.op) {\n case \"add\":\n return {\n op: \"remove\",\n path: patch.path\n };\n case \"remove\":\n return {\n op: \"add\",\n path: patch.path,\n value: patch.oldValue\n };\n case \"replace\":\n return {\n op: \"replace\",\n path: patch.path,\n value: patch.oldValue\n };\n }\n}\n/**\n * Simple simple check to check it is a number.\n */\nfunction isNumber(x) {\n return typeof x === \"number\";\n}\n/**\n * Escape slashes and backslashes.\n *\n * http://tools.ietf.org/html/rfc6901\n */\nfunction escapeJsonPath(path) {\n if (isNumber(path) === true) {\n return \"\" + path;\n }\n if (path.indexOf(\"/\") === -1 && path.indexOf(\"~\") === -1)\n return path;\n return path.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n/**\n * Unescape slashes and backslashes.\n */\nfunction unescapeJsonPath(path) {\n return path.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n/**\n * Generates a json-path compliant json path from path parts.\n *\n * @param path\n * @returns\n */\nfunction joinJsonPath(path) {\n // `/` refers to property with an empty name, while `` refers to root itself!\n if (path.length === 0)\n return \"\";\n var getPathStr = function (p) { return p.map(escapeJsonPath).join(\"/\"); };\n if (path[0] === \".\" || path[0] === \"..\") {\n // relative\n return getPathStr(path);\n }\n else {\n // absolute\n return \"/\" + getPathStr(path);\n }\n}\n/**\n * Splits and decodes a json path into several parts.\n *\n * @param path\n * @returns\n */\nfunction splitJsonPath(path) {\n // `/` refers to property with an empty name, while `` refers to root itself!\n var parts = path.split(\"/\").map(unescapeJsonPath);\n var valid = path === \"\" ||\n path === \".\" ||\n path === \"..\" ||\n stringStartsWith(path, \"/\") ||\n stringStartsWith(path, \"./\") ||\n stringStartsWith(path, \"../\");\n if (!valid) {\n throw fail(\"a json path must be either rooted, empty or relative, but got '\" + path + \"'\");\n }\n // '/a/b/c' -> [\"a\", \"b\", \"c\"]\n // '../../b/c' -> [\"..\", \"..\", \"b\", \"c\"]\n // '' -> []\n // '/' -> ['']\n // './a' -> [\".\", \"a\"]\n // /./a' -> [\".\", \"a\"] equivalent to './a'\n if (parts[0] === \"\") {\n parts.shift();\n }\n return parts;\n}\n\n/** @hidden */\nvar $preProcessorFailed = Symbol(\"$preProcessorFailed\");\nvar SnapshotProcessor = /** @class */ (function (_super) {\n __extends(SnapshotProcessor, _super);\n function SnapshotProcessor(_subtype, _processors, name) {\n var _this = _super.call(this, name || _subtype.name) || this;\n Object.defineProperty(_this, \"_subtype\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _subtype\n });\n Object.defineProperty(_this, \"_processors\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _processors\n });\n return _this;\n }\n Object.defineProperty(SnapshotProcessor.prototype, \"flags\", {\n get: function () {\n return this._subtype.flags | TypeFlags.SnapshotProcessor;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"snapshotProcessor(\" + this._subtype.describe() + \")\";\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"preProcessSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (sn) {\n if (this._processors.preProcessor) {\n return this._processors.preProcessor.call(null, sn);\n }\n return sn;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"preProcessSnapshotSafe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (sn) {\n try {\n return this.preProcessSnapshot(sn);\n }\n catch (e) {\n return $preProcessorFailed;\n }\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"postProcessSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (sn, node) {\n if (this._processors.postProcessor) {\n return this._processors.postProcessor.call(null, sn, node.storedValue);\n }\n return sn;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"_fixNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n var _this = this;\n // the node has to use these methods rather than the original type ones\n proxyNodeTypeMethods(node.type, this, \"create\");\n if (node instanceof ObjectNode) {\n node.hasSnapshotPostProcessor = !!this._processors.postProcessor;\n }\n var oldGetSnapshot = node.getSnapshot;\n node.getSnapshot = function () { return _this.postProcessSnapshot(oldGetSnapshot.call(node), node); };\n if (!isUnionType(this._subtype)) {\n node.getReconciliationType = function () {\n return _this;\n };\n }\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n var processedInitialValue = isStateTreeNode(initialValue)\n ? initialValue\n : this.preProcessSnapshot(initialValue);\n var node = this._subtype.instantiate(parent, subpath, environment, processedInitialValue);\n this._fixNode(node);\n return node;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n var node = this._subtype.reconcile(current, isStateTreeNode(newValue) ? newValue : this.preProcessSnapshot(newValue), parent, subpath);\n if (node !== current) {\n this._fixNode(node);\n }\n return node;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, applyPostProcess) {\n if (applyPostProcess === void 0) { applyPostProcess = true; }\n var sn = this._subtype.getSnapshot(node);\n return applyPostProcess ? this.postProcessSnapshot(sn, node) : sn;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var processedSn = this.preProcessSnapshotSafe(value);\n if (processedSn === $preProcessorFailed) {\n return typeCheckFailure(context, value, \"Failed to preprocess value\");\n }\n return this._subtype.validate(processedSn, context);\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subtype;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"is\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (thing) {\n var value = isType(thing)\n ? this._subtype\n : isStateTreeNode(thing)\n ? getSnapshot(thing, false)\n : this.preProcessSnapshotSafe(thing);\n if (value === $preProcessorFailed) {\n return false;\n }\n return this._subtype.validate(value, [{ path: \"\", type: this._subtype }]).length === 0;\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return this._subtype.isAssignableFrom(type);\n }\n });\n Object.defineProperty(SnapshotProcessor.prototype, \"isMatchingSnapshotId\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, snapshot) {\n if (!(this._subtype instanceof ComplexType)) {\n return false;\n }\n var processedSn = this.preProcessSnapshot(snapshot);\n return this._subtype.isMatchingSnapshotId(current, processedSn);\n }\n });\n return SnapshotProcessor;\n}(BaseType));\nfunction proxyNodeTypeMethods(nodeType, snapshotProcessorType) {\n var e_1, _a;\n var methods = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n methods[_i - 2] = arguments[_i];\n }\n try {\n for (var methods_1 = __values(methods), methods_1_1 = methods_1.next(); !methods_1_1.done; methods_1_1 = methods_1.next()) {\n var method = methods_1_1.value;\n nodeType[method] = snapshotProcessorType[method].bind(snapshotProcessorType);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (methods_1_1 && !methods_1_1.done && (_a = methods_1.return)) _a.call(methods_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n/**\n * `types.snapshotProcessor` - Runs a pre/post snapshot processor before/after serializing a given type.\n *\n * Example:\n * ```ts\n * const Todo1 = types.model({ text: types.string })\n * // in the backend the text type must be null when empty\n * interface BackendTodo {\n * text: string | null\n * }\n *\n * const Todo2 = types.snapshotProcessor(Todo1, {\n * // from snapshot to instance\n * preProcessor(snapshot: BackendTodo) {\n * return {\n * text: sn.text || \"\";\n * }\n * },\n *\n * // from instance to snapshot\n * postProcessor(snapshot, node): BackendTodo {\n * return {\n * text: !sn.text ? null : sn.text\n * }\n * }\n * })\n * ```\n *\n * @param type Type to run the processors over.\n * @param processors Processors to run.\n * @param name Type name, or undefined to inherit the inner type one.\n * @returns\n */\nfunction snapshotProcessor(type, processors, name) {\n assertIsType(type, 1);\n if (devMode()) {\n if (processors.postProcessor && typeof processors.postProcessor !== \"function\") {\n // istanbul ignore next\n throw fail(\"postSnapshotProcessor must be a function\");\n }\n if (processors.preProcessor && typeof processors.preProcessor !== \"function\") {\n // istanbul ignore next\n throw fail(\"preSnapshotProcessor must be a function\");\n }\n }\n return new SnapshotProcessor(type, processors, name);\n}\n\nvar needsIdentifierError = \"Map.put can only be used to store complex values that have an identifier type attribute\";\nfunction tryCollectModelTypes(type, modelTypes) {\n var e_1, _a;\n var subtypes = type.getSubTypes();\n if (subtypes === cannotDetermineSubtype) {\n return false;\n }\n if (subtypes) {\n var subtypesArray = asArray(subtypes);\n try {\n for (var subtypesArray_1 = __values(subtypesArray), subtypesArray_1_1 = subtypesArray_1.next(); !subtypesArray_1_1.done; subtypesArray_1_1 = subtypesArray_1.next()) {\n var subtype = subtypesArray_1_1.value;\n if (!tryCollectModelTypes(subtype, modelTypes))\n return false;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (subtypesArray_1_1 && !subtypesArray_1_1.done && (_a = subtypesArray_1.return)) _a.call(subtypesArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n if (type instanceof ModelType) {\n modelTypes.push(type);\n }\n return true;\n}\n/**\n * @internal\n * @hidden\n */\nvar MapIdentifierMode;\n(function (MapIdentifierMode) {\n MapIdentifierMode[MapIdentifierMode[\"UNKNOWN\"] = 0] = \"UNKNOWN\";\n MapIdentifierMode[MapIdentifierMode[\"YES\"] = 1] = \"YES\";\n MapIdentifierMode[MapIdentifierMode[\"NO\"] = 2] = \"NO\";\n})(MapIdentifierMode || (MapIdentifierMode = {}));\nvar MSTMap = /** @class */ (function (_super) {\n __extends(MSTMap, _super);\n function MSTMap(initialData, name) {\n return _super.call(this, initialData, observable.ref.enhancer, name) || this;\n }\n Object.defineProperty(MSTMap.prototype, \"get\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (key) {\n // maybe this is over-enthousiastic? normalize numeric keys to strings\n return _super.prototype.get.call(this, \"\" + key);\n }\n });\n Object.defineProperty(MSTMap.prototype, \"has\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (key) {\n return _super.prototype.has.call(this, \"\" + key);\n }\n });\n Object.defineProperty(MSTMap.prototype, \"delete\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (key) {\n return _super.prototype.delete.call(this, \"\" + key);\n }\n });\n Object.defineProperty(MSTMap.prototype, \"set\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (key, value) {\n return _super.prototype.set.call(this, \"\" + key, value);\n }\n });\n Object.defineProperty(MSTMap.prototype, \"put\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value) {\n if (!value)\n throw fail(\"Map.put cannot be used to set empty values\");\n if (isStateTreeNode(value)) {\n var node = getStateTreeNode(value);\n if (devMode()) {\n if (!node.identifierAttribute) {\n throw fail(needsIdentifierError);\n }\n }\n if (node.identifier === null) {\n throw fail(needsIdentifierError);\n }\n this.set(node.identifier, value);\n return value;\n }\n else if (!isMutable(value)) {\n throw fail(\"Map.put can only be used to store complex values\");\n }\n else {\n var mapNode = getStateTreeNode(this);\n var mapType = mapNode.type;\n if (mapType.identifierMode !== MapIdentifierMode.YES) {\n throw fail(needsIdentifierError);\n }\n var idAttr = mapType.mapIdentifierAttribute;\n var id = value[idAttr];\n if (!isValidIdentifier(id)) {\n // try again but this time after creating a node for the value\n // since it might be an optional identifier\n var newNode = this.put(mapType.getChildType().create(value, mapNode.environment));\n return this.put(getSnapshot(newNode));\n }\n var key = normalizeIdentifier(id);\n this.set(key, value);\n return this.get(key);\n }\n }\n });\n return MSTMap;\n}(ObservableMap));\n/**\n * @internal\n * @hidden\n */\nvar MapType = /** @class */ (function (_super) {\n __extends(MapType, _super);\n function MapType(name, _subType, hookInitializers) {\n if (hookInitializers === void 0) { hookInitializers = []; }\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"_subType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _subType\n });\n Object.defineProperty(_this, \"identifierMode\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: MapIdentifierMode.UNKNOWN\n });\n Object.defineProperty(_this, \"mapIdentifierAttribute\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: undefined\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Map\n });\n Object.defineProperty(_this, \"hookInitializers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n _this._determineIdentifierMode();\n _this.hookInitializers = hookInitializers;\n return _this;\n }\n Object.defineProperty(MapType.prototype, \"hooks\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (hooks) {\n var hookInitializers = this.hookInitializers.length > 0 ? this.hookInitializers.concat(hooks) : [hooks];\n return new MapType(this.name, this._subType, hookInitializers);\n }\n });\n Object.defineProperty(MapType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n this._determineIdentifierMode();\n return createObjectNode(this, parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(MapType.prototype, \"_determineIdentifierMode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n if (this.identifierMode !== MapIdentifierMode.UNKNOWN) {\n return;\n }\n var modelTypes = [];\n if (tryCollectModelTypes(this._subType, modelTypes)) {\n var identifierAttribute = modelTypes.reduce(function (current, type) {\n if (!type.identifierAttribute)\n return current;\n if (current && current !== type.identifierAttribute) {\n throw fail(\"The objects in a map should all have the same identifier attribute, expected '\" + current + \"', but child of type '\" + type.name + \"' declared attribute '\" + type.identifierAttribute + \"' as identifier\");\n }\n return type.identifierAttribute;\n }, undefined);\n if (identifierAttribute) {\n this.identifierMode = MapIdentifierMode.YES;\n this.mapIdentifierAttribute = identifierAttribute;\n }\n else {\n this.identifierMode = MapIdentifierMode.NO;\n }\n }\n }\n });\n Object.defineProperty(MapType.prototype, \"initializeChildNodes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (objNode, initialSnapshot) {\n if (initialSnapshot === void 0) { initialSnapshot = {}; }\n var subType = objNode.type._subType;\n var result = {};\n Object.keys(initialSnapshot).forEach(function (name) {\n result[name] = subType.instantiate(objNode, name, undefined, initialSnapshot[name]);\n });\n return result;\n }\n });\n Object.defineProperty(MapType.prototype, \"createNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n return new MSTMap(childNodes, this.name);\n }\n });\n Object.defineProperty(MapType.prototype, \"finalizeNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, instance) {\n _interceptReads(instance, node.unbox);\n var type = node.type;\n type.hookInitializers.forEach(function (initializer) {\n var hooks = initializer(instance);\n Object.keys(hooks).forEach(function (name) {\n var hook = hooks[name];\n var actionInvoker = createActionInvoker(instance, name, hook);\n (!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(instance, name, actionInvoker);\n });\n });\n intercept(instance, this.willChange);\n observe(instance, this.didChange);\n }\n });\n Object.defineProperty(MapType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(MapType.prototype, \"getChildren\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n // return (node.storedValue as ObservableMap<any>).values()\n return values(node.storedValue);\n }\n });\n Object.defineProperty(MapType.prototype, \"getChildNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, key) {\n var childNode = node.storedValue.get(\"\" + key);\n if (!childNode)\n throw fail(\"Not a child \" + key);\n return childNode;\n }\n });\n Object.defineProperty(MapType.prototype, \"willChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (change) {\n var node = getStateTreeNode(change.object);\n var key = change.name;\n node.assertWritable({ subpath: key });\n var mapType = node.type;\n var subType = mapType._subType;\n switch (change.type) {\n case \"update\":\n {\n var newValue = change.newValue;\n var oldValue = change.object.get(key);\n if (newValue === oldValue)\n return null;\n typecheckInternal(subType, newValue);\n change.newValue = subType.reconcile(node.getChildNode(key), change.newValue, node, key);\n mapType.processIdentifier(key, change.newValue);\n }\n break;\n case \"add\":\n {\n typecheckInternal(subType, change.newValue);\n change.newValue = subType.instantiate(node, key, undefined, change.newValue);\n mapType.processIdentifier(key, change.newValue);\n }\n break;\n }\n return change;\n }\n });\n Object.defineProperty(MapType.prototype, \"processIdentifier\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (expected, node) {\n if (this.identifierMode === MapIdentifierMode.YES && node instanceof ObjectNode) {\n var identifier = node.identifier;\n if (identifier !== expected)\n throw fail(\"A map of objects containing an identifier should always store the object under their own identifier. Trying to store key '\" + identifier + \"', but expected: '\" + expected + \"'\");\n }\n }\n });\n Object.defineProperty(MapType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n var res = {};\n node.getChildren().forEach(function (childNode) {\n res[childNode.subpath] = childNode.snapshot;\n });\n return res;\n }\n });\n Object.defineProperty(MapType.prototype, \"processInitialSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n var processed = {};\n Object.keys(childNodes).forEach(function (key) {\n processed[key] = childNodes[key].getSnapshot();\n });\n return processed;\n }\n });\n Object.defineProperty(MapType.prototype, \"didChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (change) {\n var node = getStateTreeNode(change.object);\n switch (change.type) {\n case \"update\":\n return void node.emitPatch({\n op: \"replace\",\n path: escapeJsonPath(change.name),\n value: change.newValue.snapshot,\n oldValue: change.oldValue ? change.oldValue.snapshot : undefined\n }, node);\n case \"add\":\n return void node.emitPatch({\n op: \"add\",\n path: escapeJsonPath(change.name),\n value: change.newValue.snapshot,\n oldValue: undefined\n }, node);\n case \"delete\":\n // a node got deleted, get the old snapshot and make the node die\n var oldSnapshot = change.oldValue.snapshot;\n change.oldValue.die();\n // emit the patch\n return void node.emitPatch({\n op: \"remove\",\n path: escapeJsonPath(change.name),\n oldValue: oldSnapshot\n }, node);\n }\n }\n });\n Object.defineProperty(MapType.prototype, \"applyPatchLocally\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath, patch) {\n var target = node.storedValue;\n switch (patch.op) {\n case \"add\":\n case \"replace\":\n target.set(subpath, patch.value);\n break;\n case \"remove\":\n target.delete(subpath);\n break;\n }\n }\n });\n Object.defineProperty(MapType.prototype, \"applySnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, snapshot) {\n typecheckInternal(this, snapshot);\n var target = node.storedValue;\n var currentKeys = {};\n Array.from(target.keys()).forEach(function (key) {\n currentKeys[key] = false;\n });\n if (snapshot) {\n // Don't use target.replace, as it will throw away all existing items first\n for (var key in snapshot) {\n target.set(key, snapshot[key]);\n currentKeys[\"\" + key] = true;\n }\n }\n Object.keys(currentKeys).forEach(function (key) {\n if (currentKeys[key] === false)\n target.delete(key);\n });\n }\n });\n Object.defineProperty(MapType.prototype, \"getChildType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subType;\n }\n });\n Object.defineProperty(MapType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var _this = this;\n if (!isPlainObject(value)) {\n return typeCheckFailure(context, value, \"Value is not a plain object\");\n }\n return flattenTypeErrors(Object.keys(value).map(function (path) {\n return _this._subType.validate(value[path], getContextForPath(context, path, _this._subType));\n }));\n }\n });\n Object.defineProperty(MapType.prototype, \"getDefaultSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return EMPTY_OBJECT;\n }\n });\n Object.defineProperty(MapType.prototype, \"removeChild\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath) {\n node.storedValue.delete(subpath);\n }\n });\n return MapType;\n}(ComplexType));\nMapType.prototype.applySnapshot = action(MapType.prototype.applySnapshot);\n/**\n * `types.map` - Creates a key based collection type who's children are all of a uniform declared type.\n * If the type stored in a map has an identifier, it is mandatory to store the child under that identifier in the map.\n *\n * This type will always produce [observable maps](https://mobx.js.org/api.html#observablemap)\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * id: types.identifier,\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.map(Todo)\n * })\n *\n * const s = TodoStore.create({ todos: {} })\n * unprotect(s)\n * s.todos.set(17, { task: \"Grab coffee\", id: 17 })\n * s.todos.put({ task: \"Grab cookie\", id: 18 }) // put will infer key from the identifier\n * console.log(s.todos.get(17).task) // prints: \"Grab coffee\"\n * ```\n *\n * @param subtype\n * @returns\n */\nfunction map(subtype) {\n return new MapType(\"Map<string, \" + subtype.name + \">\", subtype);\n}\n/**\n * Returns if a given value represents a map type.\n *\n * @param type\n * @returns `true` if it is a map type.\n */\nfunction isMapType(type) {\n return isType(type) && (type.flags & TypeFlags.Map) > 0;\n}\n\n/**\n * @internal\n * @hidden\n */\nvar ArrayType = /** @class */ (function (_super) {\n __extends(ArrayType, _super);\n function ArrayType(name, _subType, hookInitializers) {\n if (hookInitializers === void 0) { hookInitializers = []; }\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"_subType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _subType\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Array\n });\n Object.defineProperty(_this, \"hookInitializers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n _this.hookInitializers = hookInitializers;\n return _this;\n }\n Object.defineProperty(ArrayType.prototype, \"hooks\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (hooks) {\n var hookInitializers = this.hookInitializers.length > 0 ? this.hookInitializers.concat(hooks) : [hooks];\n return new ArrayType(this.name, this._subType, hookInitializers);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n return createObjectNode(this, parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"initializeChildNodes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (objNode, snapshot) {\n if (snapshot === void 0) { snapshot = []; }\n var subType = objNode.type._subType;\n var result = {};\n snapshot.forEach(function (item, index) {\n var subpath = \"\" + index;\n result[subpath] = subType.instantiate(objNode, subpath, undefined, item);\n });\n return result;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"createNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n var options = __assign(__assign({}, mobxShallow), { name: this.name });\n return observable.array(convertChildNodesToArray(childNodes), options);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"finalizeNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, instance) {\n _getAdministration(instance).dehancer = node.unbox;\n var type = node.type;\n type.hookInitializers.forEach(function (initializer) {\n var hooks = initializer(instance);\n Object.keys(hooks).forEach(function (name) {\n var hook = hooks[name];\n var actionInvoker = createActionInvoker(instance, name, hook);\n (!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(instance, name, actionInvoker);\n });\n });\n intercept(instance, this.willChange);\n observe(instance, this.didChange);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"getChildren\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n return node.storedValue.slice();\n }\n });\n Object.defineProperty(ArrayType.prototype, \"getChildNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, key) {\n var index = Number(key);\n if (index < node.storedValue.length)\n return node.storedValue[index];\n throw fail(\"Not a child: \" + key);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"willChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (change) {\n var node = getStateTreeNode(change.object);\n node.assertWritable({ subpath: \"\" + change.index });\n var subType = node.type._subType;\n var childNodes = node.getChildren();\n switch (change.type) {\n case \"update\":\n {\n if (change.newValue === change.object[change.index])\n return null;\n var updatedNodes = reconcileArrayChildren(node, subType, [childNodes[change.index]], [change.newValue], [change.index]);\n if (!updatedNodes) {\n return null;\n }\n change.newValue = updatedNodes[0];\n }\n break;\n case \"splice\":\n {\n var index_1 = change.index, removedCount = change.removedCount, added = change.added;\n var addedNodes = reconcileArrayChildren(node, subType, childNodes.slice(index_1, index_1 + removedCount), added, added.map(function (_, i) { return index_1 + i; }));\n if (!addedNodes) {\n return null;\n }\n change.added = addedNodes;\n // update paths of remaining items\n for (var i = index_1 + removedCount; i < childNodes.length; i++) {\n childNodes[i].setParent(node, \"\" + (i + added.length - removedCount));\n }\n }\n break;\n }\n return change;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n return node.getChildren().map(function (childNode) { return childNode.snapshot; });\n }\n });\n Object.defineProperty(ArrayType.prototype, \"processInitialSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n var processed = [];\n Object.keys(childNodes).forEach(function (key) {\n processed.push(childNodes[key].getSnapshot());\n });\n return processed;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"didChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (change) {\n var node = getStateTreeNode(change.object);\n switch (change.type) {\n case \"update\":\n return void node.emitPatch({\n op: \"replace\",\n path: \"\" + change.index,\n value: change.newValue.snapshot,\n oldValue: change.oldValue ? change.oldValue.snapshot : undefined\n }, node);\n case \"splice\":\n for (var i = change.removedCount - 1; i >= 0; i--)\n node.emitPatch({\n op: \"remove\",\n path: \"\" + (change.index + i),\n oldValue: change.removed[i].snapshot\n }, node);\n for (var i = 0; i < change.addedCount; i++)\n node.emitPatch({\n op: \"add\",\n path: \"\" + (change.index + i),\n value: node.getChildNode(\"\" + (change.index + i)).snapshot,\n oldValue: undefined\n }, node);\n return;\n }\n }\n });\n Object.defineProperty(ArrayType.prototype, \"applyPatchLocally\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath, patch) {\n var target = node.storedValue;\n var index = subpath === \"-\" ? target.length : Number(subpath);\n switch (patch.op) {\n case \"replace\":\n target[index] = patch.value;\n break;\n case \"add\":\n target.splice(index, 0, patch.value);\n break;\n case \"remove\":\n target.splice(index, 1);\n break;\n }\n }\n });\n Object.defineProperty(ArrayType.prototype, \"applySnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, snapshot) {\n typecheckInternal(this, snapshot);\n var target = node.storedValue;\n target.replace(snapshot);\n }\n });\n Object.defineProperty(ArrayType.prototype, \"getChildType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subType;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var _this = this;\n if (!isArray(value)) {\n return typeCheckFailure(context, value, \"Value is not an array\");\n }\n return flattenTypeErrors(value.map(function (item, index) {\n return _this._subType.validate(item, getContextForPath(context, \"\" + index, _this._subType));\n }));\n }\n });\n Object.defineProperty(ArrayType.prototype, \"getDefaultSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return EMPTY_ARRAY;\n }\n });\n Object.defineProperty(ArrayType.prototype, \"removeChild\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath) {\n node.storedValue.splice(Number(subpath), 1);\n }\n });\n return ArrayType;\n}(ComplexType));\nArrayType.prototype.applySnapshot = action(ArrayType.prototype.applySnapshot);\n/**\n * `types.array` - Creates an index based collection type who's children are all of a uniform declared type.\n *\n * This type will always produce [observable arrays](https://mobx.js.org/api.html#observablearray)\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * task: types.string\n * })\n *\n * const TodoStore = types.model({\n * todos: types.array(Todo)\n * })\n *\n * const s = TodoStore.create({ todos: [] })\n * unprotect(s) // needed to allow modifying outside of an action\n * s.todos.push({ task: \"Grab coffee\" })\n * console.log(s.todos[0]) // prints: \"Grab coffee\"\n * ```\n *\n * @param subtype\n * @returns\n */\nfunction array(subtype) {\n assertIsType(subtype, 1);\n return new ArrayType(subtype.name + \"[]\", subtype);\n}\nfunction reconcileArrayChildren(parent, childType, oldNodes, newValues, newPaths) {\n var nothingChanged = true;\n for (var i = 0;; i++) {\n var hasNewNode = i <= newValues.length - 1;\n var oldNode = oldNodes[i];\n var newValue = hasNewNode ? newValues[i] : undefined;\n var newPath = \"\" + newPaths[i];\n // for some reason, instead of newValue we got a node, fallback to the storedValue\n // TODO: https://github.com/mobxjs/mobx-state-tree/issues/340#issuecomment-325581681\n if (isNode(newValue))\n newValue = newValue.storedValue;\n if (!oldNode && !hasNewNode) {\n // both are empty, end\n break;\n }\n else if (!hasNewNode) {\n // new one does not exists\n nothingChanged = false;\n oldNodes.splice(i, 1);\n if (oldNode instanceof ObjectNode) {\n // since it is going to be returned by pop/splice/shift better create it before killing it\n // so it doesn't end up in an undead state\n oldNode.createObservableInstanceIfNeeded();\n }\n oldNode.die();\n i--;\n }\n else if (!oldNode) {\n // there is no old node, create it\n // check if already belongs to the same parent. if so, avoid pushing item in. only swapping can occur.\n if (isStateTreeNode(newValue) && getStateTreeNode(newValue).parent === parent) {\n // this node is owned by this parent, but not in the reconcilable set, so it must be double\n throw fail(\"Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '\" + parent.path + \"/\" + newPath + \"', but it lives already at '\" + getStateTreeNode(newValue).path + \"'\");\n }\n nothingChanged = false;\n var newNode = valueAsNode(childType, parent, newPath, newValue);\n oldNodes.splice(i, 0, newNode);\n }\n else if (areSame(oldNode, newValue)) {\n // both are the same, reconcile\n oldNodes[i] = valueAsNode(childType, parent, newPath, newValue, oldNode);\n }\n else {\n // nothing to do, try to reorder\n var oldMatch = undefined;\n // find a possible candidate to reuse\n for (var j = i; j < oldNodes.length; j++) {\n if (areSame(oldNodes[j], newValue)) {\n oldMatch = oldNodes.splice(j, 1)[0];\n break;\n }\n }\n nothingChanged = false;\n var newNode = valueAsNode(childType, parent, newPath, newValue, oldMatch);\n oldNodes.splice(i, 0, newNode);\n }\n }\n return nothingChanged ? null : oldNodes;\n}\n/**\n * Convert a value to a node at given parent and subpath. Attempts to reuse old node if possible and given.\n */\nfunction valueAsNode(childType, parent, subpath, newValue, oldNode) {\n // ensure the value is valid-ish\n typecheckInternal(childType, newValue);\n function getNewNode() {\n // the new value has a MST node\n if (isStateTreeNode(newValue)) {\n var childNode = getStateTreeNode(newValue);\n childNode.assertAlive(EMPTY_OBJECT);\n // the node lives here\n if (childNode.parent !== null && childNode.parent === parent) {\n childNode.setParent(parent, subpath);\n return childNode;\n }\n }\n // there is old node and new one is a value/snapshot\n if (oldNode) {\n return childType.reconcile(oldNode, newValue, parent, subpath);\n }\n // nothing to do, create from scratch\n return childType.instantiate(parent, subpath, undefined, newValue);\n }\n var newNode = getNewNode();\n if (oldNode && oldNode !== newNode) {\n if (oldNode instanceof ObjectNode) {\n // since it is going to be returned by pop/splice/shift better create it before killing it\n // so it doesn't end up in an undead state\n oldNode.createObservableInstanceIfNeeded();\n }\n oldNode.die();\n }\n return newNode;\n}\n/**\n * Check if a node holds a value.\n */\nfunction areSame(oldNode, newValue) {\n // never consider dead old nodes for reconciliation\n if (!oldNode.isAlive) {\n return false;\n }\n // the new value has the same node\n if (isStateTreeNode(newValue)) {\n var newNode = getStateTreeNode(newValue);\n return newNode.isAlive && newNode === oldNode;\n }\n // the provided value is the snapshot of the old node\n if (oldNode.snapshot === newValue) {\n return true;\n }\n // Non object nodes don't get reconciled\n if (!(oldNode instanceof ObjectNode)) {\n return false;\n }\n var oldNodeType = oldNode.getReconciliationType();\n // new value is a snapshot with the correct identifier\n return (oldNode.identifier !== null &&\n oldNode.identifierAttribute &&\n isPlainObject(newValue) &&\n oldNodeType.is(newValue) &&\n oldNodeType.isMatchingSnapshotId(oldNode, newValue));\n}\n/**\n * Returns if a given value represents an array type.\n *\n * @param type\n * @returns `true` if the type is an array type.\n */\nfunction isArrayType(type) {\n return isType(type) && (type.flags & TypeFlags.Array) > 0;\n}\n\nvar PRE_PROCESS_SNAPSHOT = \"preProcessSnapshot\";\nvar POST_PROCESS_SNAPSHOT = \"postProcessSnapshot\";\nfunction objectTypeToString() {\n return getStateTreeNode(this).toString();\n}\nvar defaultObjectOptions = {\n name: \"AnonymousModel\",\n properties: {},\n initializers: EMPTY_ARRAY\n};\nfunction toPropertiesObject(declaredProps) {\n var keysList = Object.keys(declaredProps);\n var alreadySeenKeys = new Set();\n keysList.forEach(function (key) {\n if (alreadySeenKeys.has(key)) {\n throw fail(key + \" is declared twice in the model. Model should not contain the same keys\");\n }\n alreadySeenKeys.add(key);\n });\n // loop through properties and ensures that all items are types\n return keysList.reduce(function (props, key) {\n // warn if user intended a HOOK\n if (key in Hook) {\n throw fail(\"Hook '\" + key + \"' was defined as property. Hooks should be defined as part of the actions\");\n }\n // the user intended to use a view\n var descriptor = Object.getOwnPropertyDescriptor(declaredProps, key);\n if (\"get\" in descriptor) {\n throw fail(\"Getters are not supported as properties. Please use views instead\");\n }\n // undefined and null are not valid\n var value = descriptor.value;\n if (value === null || value === undefined) {\n throw fail(\"The default value of an attribute cannot be null or undefined as the type cannot be inferred. Did you mean `types.maybe(someType)`?\");\n }\n // its a primitive, convert to its type\n else if (isPrimitive(value)) {\n props[key] = optional(getPrimitiveFactoryFromValue(value), value);\n }\n // map defaults to empty object automatically for models\n else if (value instanceof MapType) {\n props[key] = optional(value, {});\n }\n else if (value instanceof ArrayType) {\n props[key] = optional(value, []);\n }\n // its already a type\n else if (isType(value)) ;\n // its a function, maybe the user wanted a view?\n else if (devMode() && typeof value === \"function\") {\n throw fail(\"Invalid type definition for property '\" + key + \"', it looks like you passed a function. Did you forget to invoke it, or did you intend to declare a view / action?\");\n }\n // no other complex values\n else if (devMode() && typeof value === \"object\") {\n throw fail(\"Invalid type definition for property '\" + key + \"', it looks like you passed an object. Try passing another model type or a types.frozen.\");\n }\n else {\n throw fail(\"Invalid type definition for property '\" + key + \"', cannot infer a type from a value like '\" + value + \"' (\" + typeof value + \")\");\n }\n return props;\n }, __assign({}, declaredProps));\n}\n/**\n * @internal\n * @hidden\n */\nvar ModelType = /** @class */ (function (_super) {\n __extends(ModelType, _super);\n function ModelType(opts) {\n var _this = _super.call(this, opts.name || defaultObjectOptions.name) || this;\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Object\n });\n /*\n * The original object definition\n */\n Object.defineProperty(_this, \"initializers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"properties\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"preProcessor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"postProcessor\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"propertyNames\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"named\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: function (name) {\n return _this.cloneAndEnhance({ name: name });\n }\n });\n Object.defineProperty(_this, \"props\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: function (properties) {\n return _this.cloneAndEnhance({ properties: properties });\n }\n });\n Object.defineProperty(_this, \"preProcessSnapshot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: function (preProcessor) {\n var currentPreprocessor = _this.preProcessor;\n if (!currentPreprocessor)\n return _this.cloneAndEnhance({ preProcessor: preProcessor });\n else\n return _this.cloneAndEnhance({\n preProcessor: function (snapshot) { return currentPreprocessor(preProcessor(snapshot)); }\n });\n }\n });\n Object.defineProperty(_this, \"postProcessSnapshot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: function (postProcessor) {\n var currentPostprocessor = _this.postProcessor;\n if (!currentPostprocessor)\n return _this.cloneAndEnhance({ postProcessor: postProcessor });\n else\n return _this.cloneAndEnhance({\n postProcessor: function (snapshot) { return postProcessor(currentPostprocessor(snapshot)); }\n });\n }\n });\n Object.assign(_this, defaultObjectOptions, opts);\n // ensures that any default value gets converted to its related type\n _this.properties = toPropertiesObject(_this.properties);\n freeze(_this.properties); // make sure nobody messes with it\n _this.propertyNames = Object.keys(_this.properties);\n _this.identifierAttribute = _this._getIdentifierAttribute();\n return _this;\n }\n Object.defineProperty(ModelType.prototype, \"_getIdentifierAttribute\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var identifierAttribute = undefined;\n this.forAllProps(function (propName, propType) {\n if (propType.flags & TypeFlags.Identifier) {\n if (identifierAttribute)\n throw fail(\"Cannot define property '\" + propName + \"' as object identifier, property '\" + identifierAttribute + \"' is already defined as identifier property\");\n identifierAttribute = propName;\n }\n });\n return identifierAttribute;\n }\n });\n Object.defineProperty(ModelType.prototype, \"cloneAndEnhance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (opts) {\n return new ModelType({\n name: opts.name || this.name,\n properties: Object.assign({}, this.properties, opts.properties),\n initializers: this.initializers.concat(opts.initializers || []),\n preProcessor: opts.preProcessor || this.preProcessor,\n postProcessor: opts.postProcessor || this.postProcessor\n });\n }\n });\n Object.defineProperty(ModelType.prototype, \"actions\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var _this = this;\n var actionInitializer = function (self) {\n _this.instantiateActions(self, fn(self));\n return self;\n };\n return this.cloneAndEnhance({ initializers: [actionInitializer] });\n }\n });\n Object.defineProperty(ModelType.prototype, \"instantiateActions\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (self, actions) {\n // check if return is correct\n if (!isPlainObject(actions))\n throw fail(\"actions initializer should return a plain object containing actions\");\n // bind actions to the object created\n Object.keys(actions).forEach(function (name) {\n // warn if preprocessor was given\n if (name === PRE_PROCESS_SNAPSHOT)\n throw fail(\"Cannot define action '\" + PRE_PROCESS_SNAPSHOT + \"', it should be defined using 'type.preProcessSnapshot(fn)' instead\");\n // warn if postprocessor was given\n if (name === POST_PROCESS_SNAPSHOT)\n throw fail(\"Cannot define action '\" + POST_PROCESS_SNAPSHOT + \"', it should be defined using 'type.postProcessSnapshot(fn)' instead\");\n var action2 = actions[name];\n // apply hook composition\n var baseAction = self[name];\n if (name in Hook && baseAction) {\n var specializedAction_1 = action2;\n action2 = function () {\n baseAction.apply(null, arguments);\n specializedAction_1.apply(null, arguments);\n };\n }\n // the goal of this is to make sure actions using \"this\" can call themselves,\n // while still allowing the middlewares to register them\n var middlewares = action2.$mst_middleware; // make sure middlewares are not lost\n var boundAction = action2.bind(actions);\n boundAction._isFlowAction = action2._isFlowAction || false;\n boundAction.$mst_middleware = middlewares;\n var actionInvoker = createActionInvoker(self, name, boundAction);\n actions[name] = actionInvoker;\n (!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(self, name, actionInvoker);\n });\n }\n });\n Object.defineProperty(ModelType.prototype, \"volatile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var _this = this;\n if (typeof fn !== \"function\") {\n throw fail(\"You passed an \" + typeof fn + \" to volatile state as an argument, when function is expected\");\n }\n var stateInitializer = function (self) {\n _this.instantiateVolatileState(self, fn(self));\n return self;\n };\n return this.cloneAndEnhance({ initializers: [stateInitializer] });\n }\n });\n Object.defineProperty(ModelType.prototype, \"instantiateVolatileState\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (self, state) {\n // check views return\n if (!isPlainObject(state))\n throw fail(\"volatile state initializer should return a plain object containing state\");\n set(self, state);\n }\n });\n Object.defineProperty(ModelType.prototype, \"extend\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var _this = this;\n var initializer = function (self) {\n var _a = fn(self), actions = _a.actions, views = _a.views, state = _a.state, rest = __rest(_a, [\"actions\", \"views\", \"state\"]);\n for (var key in rest)\n throw fail(\"The `extend` function should return an object with a subset of the fields 'actions', 'views' and 'state'. Found invalid key '\" + key + \"'\");\n if (state)\n _this.instantiateVolatileState(self, state);\n if (views)\n _this.instantiateViews(self, views);\n if (actions)\n _this.instantiateActions(self, actions);\n return self;\n };\n return this.cloneAndEnhance({ initializers: [initializer] });\n }\n });\n Object.defineProperty(ModelType.prototype, \"views\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var _this = this;\n var viewInitializer = function (self) {\n _this.instantiateViews(self, fn(self));\n return self;\n };\n return this.cloneAndEnhance({ initializers: [viewInitializer] });\n }\n });\n Object.defineProperty(ModelType.prototype, \"instantiateViews\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (self, views) {\n // check views return\n if (!isPlainObject(views))\n throw fail(\"views initializer should return a plain object containing views\");\n Object.getOwnPropertyNames(views).forEach(function (key) {\n var _a;\n // is this a computed property?\n var descriptor = Object.getOwnPropertyDescriptor(views, key);\n if (\"get\" in descriptor) {\n defineProperty$1(self, key, descriptor);\n makeObservable(self, (_a = {}, _a[key] = computed, _a));\n }\n else if (typeof descriptor.value === \"function\") {\n (!devMode() ? addHiddenFinalProp : addHiddenWritableProp)(self, key, descriptor.value);\n }\n else {\n throw fail(\"A view member should either be a function or getter based property\");\n }\n });\n }\n });\n Object.defineProperty(ModelType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n var value = isStateTreeNode(initialValue)\n ? initialValue\n : this.applySnapshotPreProcessor(initialValue);\n return createObjectNode(this, parent, subpath, environment, value);\n // Optimization: record all prop- view- and action names after first construction, and generate an optimal base class\n // that pre-reserves all these fields for fast object-member lookups\n }\n });\n Object.defineProperty(ModelType.prototype, \"initializeChildNodes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (objNode, initialSnapshot) {\n if (initialSnapshot === void 0) { initialSnapshot = {}; }\n var type = objNode.type;\n var result = {};\n type.forAllProps(function (name, childType) {\n result[name] = childType.instantiate(objNode, name, undefined, initialSnapshot[name]);\n });\n return result;\n }\n });\n Object.defineProperty(ModelType.prototype, \"createNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n var options = __assign(__assign({}, mobxShallow), { name: this.name });\n return observable.object(childNodes, EMPTY_OBJECT, options);\n }\n });\n Object.defineProperty(ModelType.prototype, \"finalizeNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, instance) {\n addHiddenFinalProp(instance, \"toString\", objectTypeToString);\n this.forAllProps(function (name) {\n _interceptReads(instance, name, node.unbox);\n });\n this.initializers.reduce(function (self, fn) { return fn(self); }, instance);\n intercept(instance, this.willChange);\n observe(instance, this.didChange);\n }\n });\n Object.defineProperty(ModelType.prototype, \"willChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (chg) {\n // TODO: mobx typings don't seem to take into account that newValue can be set even when removing a prop\n var change = chg;\n var node = getStateTreeNode(change.object);\n var subpath = change.name;\n node.assertWritable({ subpath: subpath });\n var childType = node.type.properties[subpath];\n // only properties are typed, state are stored as-is references\n if (childType) {\n typecheckInternal(childType, change.newValue);\n change.newValue = childType.reconcile(node.getChildNode(subpath), change.newValue, node, subpath);\n }\n return change;\n }\n });\n Object.defineProperty(ModelType.prototype, \"didChange\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (chg) {\n // TODO: mobx typings don't seem to take into account that newValue can be set even when removing a prop\n var change = chg;\n var childNode = getStateTreeNode(change.object);\n var childType = childNode.type.properties[change.name];\n if (!childType) {\n // don't emit patches for volatile state\n return;\n }\n var oldChildValue = change.oldValue ? change.oldValue.snapshot : undefined;\n childNode.emitPatch({\n op: \"replace\",\n path: escapeJsonPath(change.name),\n value: change.newValue.snapshot,\n oldValue: oldChildValue\n }, childNode);\n }\n });\n Object.defineProperty(ModelType.prototype, \"getChildren\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n var _this = this;\n var res = [];\n this.forAllProps(function (name) {\n res.push(_this.getChildNode(node, name));\n });\n return res;\n }\n });\n Object.defineProperty(ModelType.prototype, \"getChildNode\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, key) {\n var _a;\n if (!(key in this.properties))\n throw fail(\"Not a value property: \" + key);\n var adm = _getAdministration(node.storedValue, key);\n var childNode = (_a = adm.raw) === null || _a === void 0 ? void 0 : _a.call(adm);\n if (!childNode)\n throw fail(\"Node not available for property \" + key);\n return childNode;\n }\n });\n Object.defineProperty(ModelType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, applyPostProcess) {\n var _this = this;\n if (applyPostProcess === void 0) { applyPostProcess = true; }\n var res = {};\n this.forAllProps(function (name, type) {\n try {\n // TODO: FIXME, make sure the observable ref is used!\n var atom = getAtom(node.storedValue, name);\n atom.reportObserved();\n }\n catch (e) {\n throw fail(name + \" property is declared twice\");\n }\n res[name] = _this.getChildNode(node, name).snapshot;\n });\n if (applyPostProcess) {\n return this.applySnapshotPostProcessor(res);\n }\n return res;\n }\n });\n Object.defineProperty(ModelType.prototype, \"processInitialSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (childNodes) {\n var processed = {};\n Object.keys(childNodes).forEach(function (key) {\n processed[key] = childNodes[key].getSnapshot();\n });\n return this.applySnapshotPostProcessor(processed);\n }\n });\n Object.defineProperty(ModelType.prototype, \"applyPatchLocally\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath, patch) {\n if (!(patch.op === \"replace\" || patch.op === \"add\")) {\n throw fail(\"object does not support operation \" + patch.op);\n }\n node.storedValue[subpath] = patch.value;\n }\n });\n Object.defineProperty(ModelType.prototype, \"applySnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, snapshot) {\n typecheckInternal(this, snapshot);\n var preProcessedSnapshot = this.applySnapshotPreProcessor(snapshot);\n this.forAllProps(function (name) {\n node.storedValue[name] = preProcessedSnapshot[name];\n });\n }\n });\n Object.defineProperty(ModelType.prototype, \"applySnapshotPreProcessor\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n var processor = this.preProcessor;\n return processor ? processor.call(null, snapshot) : snapshot;\n }\n });\n Object.defineProperty(ModelType.prototype, \"applySnapshotPostProcessor\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n var postProcessor = this.postProcessor;\n if (postProcessor)\n return postProcessor.call(null, snapshot);\n return snapshot;\n }\n });\n Object.defineProperty(ModelType.prototype, \"getChildType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (propertyName) {\n assertIsString(propertyName, 1);\n return this.properties[propertyName];\n }\n });\n Object.defineProperty(ModelType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var _this = this;\n var snapshot = this.applySnapshotPreProcessor(value);\n if (!isPlainObject(snapshot)) {\n return typeCheckFailure(context, snapshot, \"Value is not a plain object\");\n }\n return flattenTypeErrors(this.propertyNames.map(function (key) {\n return _this.properties[key].validate(snapshot[key], getContextForPath(context, key, _this.properties[key]));\n }));\n }\n });\n Object.defineProperty(ModelType.prototype, \"forAllProps\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (fn) {\n var _this = this;\n this.propertyNames.forEach(function (key) { return fn(key, _this.properties[key]); });\n }\n });\n Object.defineProperty(ModelType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var _this = this;\n // optimization: cache\n return (\"{ \" +\n this.propertyNames.map(function (key) { return key + \": \" + _this.properties[key].describe(); }).join(\"; \") +\n \" }\");\n }\n });\n Object.defineProperty(ModelType.prototype, \"getDefaultSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return EMPTY_OBJECT;\n }\n });\n Object.defineProperty(ModelType.prototype, \"removeChild\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node, subpath) {\n node.storedValue[subpath] = undefined;\n }\n });\n return ModelType;\n}(ComplexType));\nModelType.prototype.applySnapshot = action(ModelType.prototype.applySnapshot);\n/**\n * `types.model` - Creates a new model type by providing a name, properties, volatile state and actions.\n *\n * See the [model type](/concepts/trees#creating-models) description or the [getting started](intro/getting-started.md#getting-started-1) tutorial.\n */\nfunction model() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (devMode() && typeof args[0] !== \"string\" && args[1]) {\n throw fail(\"Model creation failed. First argument must be a string when two arguments are provided\");\n }\n var name = typeof args[0] === \"string\" ? args.shift() : \"AnonymousModel\";\n var properties = args.shift() || {};\n return new ModelType({ name: name, properties: properties });\n}\n/**\n * `types.compose` - Composes a new model from one or more existing model types.\n * This method can be invoked in two forms:\n * Given 2 or more model types, the types are composed into a new Type.\n * Given first parameter as a string and 2 or more model types,\n * the types are composed into a new Type with the given name\n */\nfunction compose() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // TODO: just join the base type names if no name is provided\n var hasTypename = typeof args[0] === \"string\";\n var typeName = hasTypename ? args[0] : \"AnonymousModel\";\n if (hasTypename) {\n args.shift();\n }\n // check all parameters\n if (devMode()) {\n args.forEach(function (type, i) {\n assertArg(type, isModelType, \"mobx-state-tree model type\", hasTypename ? i + 2 : i + 1);\n });\n }\n return args\n .reduce(function (prev, cur) {\n return prev.cloneAndEnhance({\n name: prev.name + \"_\" + cur.name,\n properties: cur.properties,\n initializers: cur.initializers,\n preProcessor: function (snapshot) {\n return cur.applySnapshotPreProcessor(prev.applySnapshotPreProcessor(snapshot));\n },\n postProcessor: function (snapshot) {\n return cur.applySnapshotPostProcessor(prev.applySnapshotPostProcessor(snapshot));\n }\n });\n })\n .named(typeName);\n}\n/**\n * Returns if a given value represents a model type.\n *\n * @param type\n * @returns\n */\nfunction isModelType(type) {\n return isType(type) && (type.flags & TypeFlags.Object) > 0;\n}\n\n// TODO: implement CoreType using types.custom ?\n/**\n * @internal\n * @hidden\n */\nvar CoreType = /** @class */ (function (_super) {\n __extends(CoreType, _super);\n function CoreType(name, flags, checker, initializer) {\n if (initializer === void 0) { initializer = identity; }\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: flags\n });\n Object.defineProperty(_this, \"checker\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: checker\n });\n Object.defineProperty(_this, \"initializer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: initializer\n });\n _this.flags = flags;\n return _this;\n }\n Object.defineProperty(CoreType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(CoreType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n return createScalarNode(this, parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(CoreType.prototype, \"createNewInstance\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (snapshot) {\n return this.initializer(snapshot);\n }\n });\n Object.defineProperty(CoreType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (isPrimitive(value) && this.checker(value)) {\n return typeCheckSuccess();\n }\n var typeName = this.name === \"Date\" ? \"Date or a unix milliseconds timestamp\" : this.name;\n return typeCheckFailure(context, value, \"Value is not a \" + typeName);\n }\n });\n return CoreType;\n}(SimpleType));\n/**\n * `types.string` - Creates a type that can only contain a string value.\n * This type is used for string values by default\n *\n * Example:\n * ```ts\n * const Person = types.model({\n * firstName: types.string,\n * lastName: \"Doe\"\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar string = new CoreType(\"string\", TypeFlags.String, function (v) { return typeof v === \"string\"; });\n/**\n * `types.number` - Creates a type that can only contain a numeric value.\n * This type is used for numeric values by default\n *\n * Example:\n * ```ts\n * const Vector = types.model({\n * x: types.number,\n * y: 1.5\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar number = new CoreType(\"number\", TypeFlags.Number, function (v) { return typeof v === \"number\"; });\n/**\n * `types.integer` - Creates a type that can only contain an integer value.\n *\n * Example:\n * ```ts\n * const Size = types.model({\n * width: types.integer,\n * height: 10\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar integer = new CoreType(\"integer\", TypeFlags.Integer, function (v) { return isInteger(v); });\n/**\n * `types.float` - Creates a type that can only contain an float value.\n *\n * Example:\n * ```ts\n * const Size = types.model({\n * width: types.float,\n * height: 10\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar float = new CoreType(\"float\", TypeFlags.Float, function (v) { return isFloat(v); });\n/**\n * `types.finite` - Creates a type that can only contain an finite value.\n *\n * Example:\n * ```ts\n * const Size = types.model({\n * width: types.finite,\n * height: 10\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar finite = new CoreType(\"finite\", TypeFlags.Finite, function (v) { return isFinite(v); });\n/**\n * `types.boolean` - Creates a type that can only contain a boolean value.\n * This type is used for boolean values by default\n *\n * Example:\n * ```ts\n * const Thing = types.model({\n * isCool: types.boolean,\n * isAwesome: false\n * })\n * ```\n */\n// tslint:disable-next-line:variable-name\nvar boolean = new CoreType(\"boolean\", TypeFlags.Boolean, function (v) { return typeof v === \"boolean\"; });\n/**\n * `types.null` - The type of the value `null`\n */\nvar nullType = new CoreType(\"null\", TypeFlags.Null, function (v) { return v === null; });\n/**\n * `types.undefined` - The type of the value `undefined`\n */\nvar undefinedType = new CoreType(\"undefined\", TypeFlags.Undefined, function (v) { return v === undefined; });\nvar _DatePrimitive = new CoreType(\"Date\", TypeFlags.Date, function (v) { return typeof v === \"number\" || v instanceof Date; }, function (v) { return (v instanceof Date ? v : new Date(v)); });\n_DatePrimitive.getSnapshot = function (node) {\n return node.storedValue.getTime();\n};\n/**\n * `types.Date` - Creates a type that can only contain a javascript Date value.\n *\n * Example:\n * ```ts\n * const LogLine = types.model({\n * timestamp: types.Date,\n * })\n *\n * LogLine.create({ timestamp: new Date() })\n * ```\n */\nvar DatePrimitive = _DatePrimitive;\n/**\n * @internal\n * @hidden\n */\nfunction getPrimitiveFactoryFromValue(value) {\n switch (typeof value) {\n case \"string\":\n return string;\n case \"number\":\n return number; // In the future, isInteger(value) ? integer : number would be interesting, but would be too breaking for now\n case \"boolean\":\n return boolean;\n case \"object\":\n if (value instanceof Date)\n return DatePrimitive;\n }\n throw fail(\"Cannot determine primitive type from value \" + value);\n}\n/**\n * Returns if a given value represents a primitive type.\n *\n * @param type\n * @returns\n */\nfunction isPrimitiveType(type) {\n return (isType(type) &&\n (type.flags &\n (TypeFlags.String |\n TypeFlags.Number |\n TypeFlags.Integer |\n TypeFlags.Boolean |\n TypeFlags.Date)) >\n 0);\n}\n\n/**\n * @internal\n * @hidden\n */\nvar Literal = /** @class */ (function (_super) {\n __extends(Literal, _super);\n function Literal(value) {\n var _this = _super.call(this, JSON.stringify(value)) || this;\n Object.defineProperty(_this, \"value\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Literal\n });\n _this.value = value;\n return _this;\n }\n Object.defineProperty(Literal.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n return createScalarNode(this, parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(Literal.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return JSON.stringify(this.value);\n }\n });\n Object.defineProperty(Literal.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (isPrimitive(value) && value === this.value) {\n return typeCheckSuccess();\n }\n return typeCheckFailure(context, value, \"Value is not a literal \" + JSON.stringify(this.value));\n }\n });\n return Literal;\n}(SimpleType));\n/**\n * `types.literal` - The literal type will return a type that will match only the exact given type.\n * The given value must be a primitive, in order to be serialized to a snapshot correctly.\n * You can use literal to match exact strings for example the exact male or female string.\n *\n * Example:\n * ```ts\n * const Person = types.model({\n * name: types.string,\n * gender: types.union(types.literal('male'), types.literal('female'))\n * })\n * ```\n *\n * @param value The value to use in the strict equal check\n * @returns\n */\nfunction literal(value) {\n // check that the given value is a primitive\n assertArg(value, isPrimitive, \"primitive\", 1);\n return new Literal(value);\n}\n/**\n * Returns if a given value represents a literal type.\n *\n * @param type\n * @returns\n */\nfunction isLiteralType(type) {\n return isType(type) && (type.flags & TypeFlags.Literal) > 0;\n}\n\nvar Refinement = /** @class */ (function (_super) {\n __extends(Refinement, _super);\n function Refinement(name, _subtype, _predicate, _message) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"_subtype\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _subtype\n });\n Object.defineProperty(_this, \"_predicate\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _predicate\n });\n Object.defineProperty(_this, \"_message\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _message\n });\n return _this;\n }\n Object.defineProperty(Refinement.prototype, \"flags\", {\n get: function () {\n return this._subtype.flags | TypeFlags.Refinement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Refinement.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(Refinement.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n // create the child type\n return this._subtype.instantiate(parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(Refinement.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return this._subtype.isAssignableFrom(type);\n }\n });\n Object.defineProperty(Refinement.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var subtypeErrors = this._subtype.validate(value, context);\n if (subtypeErrors.length > 0)\n return subtypeErrors;\n var snapshot = isStateTreeNode(value) ? getStateTreeNode(value).snapshot : value;\n if (!this._predicate(snapshot)) {\n return typeCheckFailure(context, value, this._message(value));\n }\n return typeCheckSuccess();\n }\n });\n Object.defineProperty(Refinement.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n return this._subtype.reconcile(current, newValue, parent, subpath);\n }\n });\n Object.defineProperty(Refinement.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subtype;\n }\n });\n return Refinement;\n}(BaseType));\n/**\n * `types.refinement` - Creates a type that is more specific than the base type, e.g. `types.refinement(types.string, value => value.length > 5)` to create a type of strings that can only be longer then 5.\n *\n * @param name\n * @param type\n * @param predicate\n * @returns\n */\nfunction refinement() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var name = typeof args[0] === \"string\" ? args.shift() : isType(args[0]) ? args[0].name : null;\n var type = args[0];\n var predicate = args[1];\n var message = args[2] ? args[2] : function (v) { return \"Value does not respect the refinement predicate\"; };\n // ensures all parameters are correct\n assertIsType(type, [1, 2]);\n assertIsString(name, 1);\n assertIsFunction(predicate, [2, 3]);\n assertIsFunction(message, [3, 4]);\n return new Refinement(name, type, predicate, message);\n}\n/**\n * Returns if a given value is a refinement type.\n *\n * @param type\n * @returns\n */\nfunction isRefinementType(type) {\n return (type.flags & TypeFlags.Refinement) > 0;\n}\n\n/**\n * `types.enumeration` - Can be used to create an string based enumeration.\n * (note: this methods is just sugar for a union of string literals)\n *\n * Example:\n * ```ts\n * const TrafficLight = types.model({\n * color: types.enumeration(\"Color\", [\"Red\", \"Orange\", \"Green\"])\n * })\n * ```\n *\n * @param name descriptive name of the enumeration (optional)\n * @param options possible values this enumeration can have\n * @returns\n */\nfunction enumeration(name, options) {\n var realOptions = typeof name === \"string\" ? options : name;\n // check all options\n if (devMode()) {\n realOptions.forEach(function (option, i) {\n assertIsString(option, i + 1);\n });\n }\n var type = union.apply(void 0, __spread(realOptions.map(function (option) { return literal(\"\" + option); })));\n if (typeof name === \"string\")\n type.name = name;\n return type;\n}\n\n/**\n * @internal\n * @hidden\n */\nvar Union = /** @class */ (function (_super) {\n __extends(Union, _super);\n function Union(name, _types, options) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"_types\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _types\n });\n Object.defineProperty(_this, \"_dispatcher\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(_this, \"_eager\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n options = __assign({ eager: true, dispatcher: undefined }, options);\n _this._dispatcher = options.dispatcher;\n if (!options.eager)\n _this._eager = false;\n return _this;\n }\n Object.defineProperty(Union.prototype, \"flags\", {\n get: function () {\n var result = TypeFlags.Union;\n this._types.forEach(function (type) {\n result |= type.flags;\n });\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Union.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return this._types.some(function (subType) { return subType.isAssignableFrom(type); });\n }\n });\n Object.defineProperty(Union.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"(\" + this._types.map(function (factory) { return factory.describe(); }).join(\" | \") + \")\";\n }\n });\n Object.defineProperty(Union.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n var type = this.determineType(initialValue, undefined);\n if (!type)\n throw fail(\"No matching type for union \" + this.describe()); // can happen in prod builds\n return type.instantiate(parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(Union.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n var type = this.determineType(newValue, current.getReconciliationType());\n if (!type)\n throw fail(\"No matching type for union \" + this.describe()); // can happen in prod builds\n return type.reconcile(current, newValue, parent, subpath);\n }\n });\n Object.defineProperty(Union.prototype, \"determineType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, reconcileCurrentType) {\n // try the dispatcher, if defined\n if (this._dispatcher) {\n return this._dispatcher(value);\n }\n // find the most accomodating type\n // if we are using reconciliation try the current node type first (fix for #1045)\n if (reconcileCurrentType) {\n if (reconcileCurrentType.is(value)) {\n return reconcileCurrentType;\n }\n return this._types.filter(function (t) { return t !== reconcileCurrentType; }).find(function (type) { return type.is(value); });\n }\n else {\n return this._types.find(function (type) { return type.is(value); });\n }\n }\n });\n Object.defineProperty(Union.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (this._dispatcher) {\n return this._dispatcher(value).validate(value, context);\n }\n var allErrors = [];\n var applicableTypes = 0;\n for (var i = 0; i < this._types.length; i++) {\n var type = this._types[i];\n var errors = type.validate(value, context);\n if (errors.length === 0) {\n if (this._eager)\n return typeCheckSuccess();\n else\n applicableTypes++;\n }\n else {\n allErrors.push(errors);\n }\n }\n if (applicableTypes === 1)\n return typeCheckSuccess();\n return typeCheckFailure(context, value, \"No type is applicable for the union\").concat(flattenTypeErrors(allErrors));\n }\n });\n Object.defineProperty(Union.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._types;\n }\n });\n return Union;\n}(BaseType));\n/**\n * `types.union` - Create a union of multiple types. If the correct type cannot be inferred unambiguously from a snapshot, provide a dispatcher function of the form `(snapshot) => Type`.\n *\n * @param optionsOrType\n * @param otherTypes\n * @returns\n */\nfunction union(optionsOrType) {\n var otherTypes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n otherTypes[_i - 1] = arguments[_i];\n }\n var options = isType(optionsOrType) ? undefined : optionsOrType;\n var types = isType(optionsOrType) ? __spread([optionsOrType], otherTypes) : otherTypes;\n var name = \"(\" + types.map(function (type) { return type.name; }).join(\" | \") + \")\";\n // check all options\n if (devMode()) {\n if (options) {\n assertArg(options, function (o) { return isPlainObject(o); }, \"object { eager?: boolean, dispatcher?: Function }\", 1);\n }\n types.forEach(function (type, i) {\n assertIsType(type, options ? i + 2 : i + 1);\n });\n }\n return new Union(name, types, options);\n}\n/**\n * Returns if a given value represents a union type.\n *\n * @param type\n * @returns\n */\nfunction isUnionType(type) {\n return (type.flags & TypeFlags.Union) > 0;\n}\n\n/**\n * @hidden\n * @internal\n */\nvar OptionalValue = /** @class */ (function (_super) {\n __extends(OptionalValue, _super);\n function OptionalValue(_subtype, _defaultValue, optionalValues) {\n var _this = _super.call(this, _subtype.name) || this;\n Object.defineProperty(_this, \"_subtype\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _subtype\n });\n Object.defineProperty(_this, \"_defaultValue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _defaultValue\n });\n Object.defineProperty(_this, \"optionalValues\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: optionalValues\n });\n return _this;\n }\n Object.defineProperty(OptionalValue.prototype, \"flags\", {\n get: function () {\n return this._subtype.flags | TypeFlags.Optional;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OptionalValue.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subtype.describe() + \"?\";\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n if (this.optionalValues.indexOf(initialValue) >= 0) {\n var defaultInstanceOrSnapshot = this.getDefaultInstanceOrSnapshot();\n return this._subtype.instantiate(parent, subpath, environment, defaultInstanceOrSnapshot);\n }\n return this._subtype.instantiate(parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n return this._subtype.reconcile(current, this.optionalValues.indexOf(newValue) < 0 && this._subtype.is(newValue)\n ? newValue\n : this.getDefaultInstanceOrSnapshot(), parent, subpath);\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"getDefaultInstanceOrSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var defaultInstanceOrSnapshot = typeof this._defaultValue === \"function\"\n ? this._defaultValue()\n : this._defaultValue;\n // while static values are already snapshots and checked on types.optional\n // generator functions must always be rechecked just in case\n if (typeof this._defaultValue === \"function\") {\n typecheckInternal(this, defaultInstanceOrSnapshot);\n }\n return defaultInstanceOrSnapshot;\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n // defaulted values can be skipped\n if (this.optionalValues.indexOf(value) >= 0) {\n return typeCheckSuccess();\n }\n // bounce validation to the sub-type\n return this._subtype.validate(value, context);\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return this._subtype.isAssignableFrom(type);\n }\n });\n Object.defineProperty(OptionalValue.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this._subtype;\n }\n });\n return OptionalValue;\n}(BaseType));\nfunction checkOptionalPreconditions(type, defaultValueOrFunction) {\n // make sure we never pass direct instances\n if (typeof defaultValueOrFunction !== \"function\" && isStateTreeNode(defaultValueOrFunction)) {\n throw fail(\"default value cannot be an instance, pass a snapshot or a function that creates an instance/snapshot instead\");\n }\n assertIsType(type, 1);\n if (devMode()) {\n // we only check default values if they are passed directly\n // if they are generator functions they will be checked once they are generated\n // we don't check generator function results here to avoid generating a node just for type-checking purposes\n // which might generate side-effects\n if (typeof defaultValueOrFunction !== \"function\") {\n typecheckInternal(type, defaultValueOrFunction);\n }\n }\n}\n/**\n * `types.optional` - Can be used to create a property with a default value.\n *\n * Depending on the third argument (`optionalValues`) there are two ways of operation:\n * - If the argument is not provided, then if a value is not provided in the snapshot (`undefined` or missing),\n * it will default to the provided `defaultValue`\n * - If the argument is provided, then if the value in the snapshot matches one of the optional values inside the array then it will\n * default to the provided `defaultValue`. Additionally, if one of the optional values inside the array is `undefined` then a missing\n * property is also valid.\n *\n * Note that it is also possible to include values of the same type as the intended subtype as optional values,\n * in this case the optional value will be transformed into the `defaultValue` (e.g. `types.optional(types.string, \"unnamed\", [undefined, \"\"])`\n * will transform the snapshot values `undefined` (and therefore missing) and empty strings into the string `\"unnamed\"` when it gets\n * instantiated).\n *\n * If `defaultValue` is a function, the function will be invoked for every new instance.\n * Applying a snapshot in which the optional value is one of the optional values (or `undefined`/_not_ present if none are provided) causes the\n * value to be reset.\n *\n * Example:\n * ```ts\n * const Todo = types.model({\n * title: types.string,\n * subtitle1: types.optional(types.string, \"\", [null]),\n * subtitle2: types.optional(types.string, \"\", [null, undefined]),\n * done: types.optional(types.boolean, false),\n * created: types.optional(types.Date, () => new Date()),\n * })\n *\n * // if done is missing / undefined it will become false\n * // if created is missing / undefined it will get a freshly generated timestamp\n * // if subtitle1 is null it will default to \"\", but it cannot be missing or undefined\n * // if subtitle2 is null or undefined it will default to \"\"; since it can be undefined it can also be missing\n * const todo = Todo.create({ title: \"Get coffee\", subtitle1: null })\n * ```\n *\n * @param type\n * @param defaultValueOrFunction\n * @param optionalValues an optional array with zero or more primitive values (string, number, boolean, null or undefined)\n * that will be converted into the default. `[ undefined ]` is assumed when none is provided\n * @returns\n */\nfunction optional(type, defaultValueOrFunction, optionalValues) {\n checkOptionalPreconditions(type, defaultValueOrFunction);\n return new OptionalValue(type, defaultValueOrFunction, optionalValues ? optionalValues : undefinedAsOptionalValues);\n}\nvar undefinedAsOptionalValues = [undefined];\n/**\n * Returns if a value represents an optional type.\n *\n * @template IT\n * @param type\n * @returns\n */\nfunction isOptionalType(type) {\n return isType(type) && (type.flags & TypeFlags.Optional) > 0;\n}\n\nvar optionalUndefinedType = optional(undefinedType, undefined);\nvar optionalNullType = optional(nullType, null);\n/**\n * `types.maybe` - Maybe will make a type nullable, and also optional.\n * The value `undefined` will be used to represent nullability.\n *\n * @param type\n * @returns\n */\nfunction maybe(type) {\n assertIsType(type, 1);\n return union(type, optionalUndefinedType);\n}\n/**\n * `types.maybeNull` - Maybe will make a type nullable, and also optional.\n * The value `null` will be used to represent no value.\n *\n * @param type\n * @returns\n */\nfunction maybeNull(type) {\n assertIsType(type, 1);\n return union(type, optionalNullType);\n}\n\nvar Late = /** @class */ (function (_super) {\n __extends(Late, _super);\n function Late(name, _definition) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"_definition\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _definition\n });\n Object.defineProperty(_this, \"_subType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n return _this;\n }\n Object.defineProperty(Late.prototype, \"flags\", {\n get: function () {\n return (this._subType ? this._subType.flags : 0) | TypeFlags.Late;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Late.prototype, \"getSubType\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (mustSucceed) {\n if (!this._subType) {\n var t = undefined;\n try {\n t = this._definition();\n }\n catch (e) {\n if (e instanceof ReferenceError)\n // can happen in strict ES5 code when a definition is self refering\n t = undefined;\n else\n throw e;\n }\n if (mustSucceed && t === undefined)\n throw fail(\"Late type seems to be used too early, the definition (still) returns undefined\");\n if (t) {\n if (devMode() && !isType(t))\n throw fail(\"Failed to determine subtype, make sure types.late returns a type definition.\");\n this._subType = t;\n }\n }\n return this._subType;\n }\n });\n Object.defineProperty(Late.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n return this.getSubType(true).instantiate(parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(Late.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n return this.getSubType(true).reconcile(current, newValue, parent, subpath);\n }\n });\n Object.defineProperty(Late.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var t = this.getSubType(false);\n return t ? t.name : \"<uknown late type>\";\n }\n });\n Object.defineProperty(Late.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n var t = this.getSubType(false);\n if (!t) {\n // See #916; the variable the definition closure is pointing to wasn't defined yet, so can't be evaluted yet here\n return typeCheckSuccess();\n }\n return t.validate(value, context);\n }\n });\n Object.defineProperty(Late.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n var t = this.getSubType(false);\n return t ? t.isAssignableFrom(type) : false;\n }\n });\n Object.defineProperty(Late.prototype, \"getSubTypes\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n var subtype = this.getSubType(false);\n return subtype ? subtype : cannotDetermineSubtype;\n }\n });\n return Late;\n}(BaseType));\n/**\n * `types.late` - Defines a type that gets implemented later. This is useful when you have to deal with circular dependencies.\n * Please notice that when defining circular dependencies TypeScript isn't smart enough to inference them.\n *\n * Example:\n * ```ts\n * // TypeScript isn't smart enough to infer self referencing types.\n * const Node = types.model({\n * children: types.array(types.late((): IAnyModelType => Node)) // then typecast each array element to Instance<typeof Node>\n * })\n * ```\n *\n * @param name The name to use for the type that will be returned.\n * @param type A function that returns the type that will be defined.\n * @returns\n */\nfunction late(nameOrType, maybeType) {\n var name = typeof nameOrType === \"string\" ? nameOrType : \"late(\" + nameOrType.toString() + \")\";\n var type = typeof nameOrType === \"string\" ? maybeType : nameOrType;\n // checks that the type is actually a late type\n if (devMode()) {\n if (!(typeof type === \"function\" && type.length === 0))\n throw fail(\"Invalid late type, expected a function with zero arguments that returns a type, got: \" +\n type);\n }\n return new Late(name, type);\n}\n/**\n * Returns if a given value represents a late type.\n *\n * @param type\n * @returns\n */\nfunction isLateType(type) {\n return isType(type) && (type.flags & TypeFlags.Late) > 0;\n}\n\nfunction lazy(name, options) {\n // TODO: fix this unknown casting to be stricter\n return new Lazy(name, options);\n}\n/**\n * @internal\n * @hidden\n */\nvar Lazy = /** @class */ (function (_super) {\n __extends(Lazy, _super);\n function Lazy(name, options) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Lazy\n });\n Object.defineProperty(_this, \"loadedType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n });\n Object.defineProperty(_this, \"pendingNodeList\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: observable.array()\n });\n when(function () {\n return _this.pendingNodeList.length > 0 &&\n _this.pendingNodeList.some(function (node) {\n return node.isAlive && _this.options.shouldLoadPredicate(node.parent ? node.parent.value : null);\n });\n }, function () {\n _this.options.loadType().then(action(function (type) {\n _this.loadedType = type;\n _this.pendingNodeList.forEach(function (node) {\n if (!node.parent)\n return;\n if (!_this.loadedType)\n return;\n node.parent.applyPatches([\n {\n op: \"replace\",\n path: \"/\" + node.subpath,\n value: node.snapshot\n }\n ]);\n });\n }));\n });\n return _this;\n }\n Object.defineProperty(Lazy.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"<lazy \" + this.name + \">\";\n }\n });\n Object.defineProperty(Lazy.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, value) {\n var _this = this;\n if (this.loadedType) {\n return this.loadedType.instantiate(parent, subpath, environment, value);\n }\n var node = createScalarNode(this, parent, subpath, environment, deepFreeze(value));\n this.pendingNodeList.push(node);\n when(function () { return !node.isAlive; }, function () { return _this.pendingNodeList.splice(_this.pendingNodeList.indexOf(node), 1); });\n return node;\n }\n });\n Object.defineProperty(Lazy.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (this.loadedType) {\n return this.loadedType.validate(value, context);\n }\n if (!isSerializable(value)) {\n return typeCheckFailure(context, value, \"Value is not serializable and cannot be lazy\");\n }\n return typeCheckSuccess();\n }\n });\n Object.defineProperty(Lazy.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, value, parent, subpath) {\n if (this.loadedType) {\n current.die();\n return this.loadedType.instantiate(parent, subpath, parent.environment, value);\n }\n return _super.prototype.reconcile.call(this, current, value, parent, subpath);\n }\n });\n return Lazy;\n}(SimpleType));\n\n/**\n * @internal\n * @hidden\n */\nvar Frozen = /** @class */ (function (_super) {\n __extends(Frozen, _super);\n function Frozen(subType) {\n var _this = _super.call(this, subType ? \"frozen(\" + subType.name + \")\" : \"frozen\") || this;\n Object.defineProperty(_this, \"subType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: subType\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Frozen\n });\n return _this;\n }\n Object.defineProperty(Frozen.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"<any immutable value>\";\n }\n });\n Object.defineProperty(Frozen.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, value) {\n // create the node\n return createScalarNode(this, parent, subpath, environment, deepFreeze(value));\n }\n });\n Object.defineProperty(Frozen.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (!isSerializable(value)) {\n return typeCheckFailure(context, value, \"Value is not serializable and cannot be frozen\");\n }\n if (this.subType)\n return this.subType.validate(value, context);\n return typeCheckSuccess();\n }\n });\n return Frozen;\n}(SimpleType));\nvar untypedFrozenInstance = new Frozen();\n/**\n * `types.frozen` - Frozen can be used to store any value that is serializable in itself (that is valid JSON).\n * Frozen values need to be immutable or treated as if immutable. They need be serializable as well.\n * Values stored in frozen will snapshotted as-is by MST, and internal changes will not be tracked.\n *\n * This is useful to store complex, but immutable values like vectors etc. It can form a powerful bridge to parts of your application that should be immutable, or that assume data to be immutable.\n *\n * Note: if you want to store free-form state that is mutable, or not serializeable, consider using volatile state instead.\n *\n * Frozen properties can be defined in three different ways\n * 1. `types.frozen(SubType)` - provide a valid MST type and frozen will check if the provided data conforms the snapshot for that type\n * 2. `types.frozen({ someDefaultValue: true})` - provide a primitive value, object or array, and MST will infer the type from that object, and also make it the default value for the field\n * 3. `types.frozen<TypeScriptType>()` - provide a typescript type, to help in strongly typing the field (design time only)\n *\n * Example:\n * ```ts\n * const GameCharacter = types.model({\n * name: string,\n * location: types.frozen({ x: 0, y: 0})\n * })\n *\n * const hero = GameCharacter.create({\n * name: \"Mario\",\n * location: { x: 7, y: 4 }\n * })\n *\n * hero.location = { x: 10, y: 2 } // OK\n * hero.location.x = 7 // Not ok!\n * ```\n *\n * ```ts\n * type Point = { x: number, y: number }\n * const Mouse = types.model({\n * loc: types.frozen<Point>()\n * })\n * ```\n *\n * @param defaultValueOrType\n * @returns\n */\nfunction frozen(arg) {\n if (arguments.length === 0)\n return untypedFrozenInstance;\n else if (isType(arg))\n return new Frozen(arg);\n else\n return optional(untypedFrozenInstance, arg);\n}\n/**\n * Returns if a given value represents a frozen type.\n *\n * @param type\n * @returns\n */\nfunction isFrozenType(type) {\n return isType(type) && (type.flags & TypeFlags.Frozen) > 0;\n}\n\nfunction getInvalidationCause(hook) {\n switch (hook) {\n case Hook.beforeDestroy:\n return \"destroy\";\n case Hook.beforeDetach:\n return \"detach\";\n default:\n return undefined;\n }\n}\nvar StoredReference = /** @class */ (function () {\n function StoredReference(value, targetType) {\n Object.defineProperty(this, \"targetType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: targetType\n });\n Object.defineProperty(this, \"identifier\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"node\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"resolvedReference\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n if (isValidIdentifier(value)) {\n this.identifier = value;\n }\n else if (isStateTreeNode(value)) {\n var targetNode = getStateTreeNode(value);\n if (!targetNode.identifierAttribute)\n throw fail(\"Can only store references with a defined identifier attribute.\");\n var id = targetNode.unnormalizedIdentifier;\n if (id === null || id === undefined) {\n throw fail(\"Can only store references to tree nodes with a defined identifier.\");\n }\n this.identifier = id;\n }\n else {\n throw fail(\"Can only store references to tree nodes or identifiers, got: '\" + value + \"'\");\n }\n }\n Object.defineProperty(StoredReference.prototype, \"updateResolvedReference\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n var normalizedId = normalizeIdentifier(this.identifier);\n var root = node.root;\n var lastCacheModification = root.identifierCache.getLastCacheModificationPerId(normalizedId);\n if (!this.resolvedReference ||\n this.resolvedReference.lastCacheModification !== lastCacheModification) {\n var targetType = this.targetType;\n // reference was initialized with the identifier of the target\n var target = root.identifierCache.resolve(targetType, normalizedId);\n if (!target) {\n throw new InvalidReferenceError(\"[mobx-state-tree] Failed to resolve reference '\" + this.identifier + \"' to type '\" + this.targetType.name + \"' (from node: \" + node.path + \")\");\n }\n this.resolvedReference = {\n node: target,\n lastCacheModification: lastCacheModification\n };\n }\n }\n });\n Object.defineProperty(StoredReference.prototype, \"resolvedValue\", {\n get: function () {\n this.updateResolvedReference(this.node);\n return this.resolvedReference.node.value;\n },\n enumerable: false,\n configurable: true\n });\n return StoredReference;\n}());\n/**\n * @internal\n * @hidden\n */\nvar InvalidReferenceError = /** @class */ (function (_super) {\n __extends(InvalidReferenceError, _super);\n function InvalidReferenceError(m) {\n var _this = _super.call(this, m) || this;\n Object.setPrototypeOf(_this, InvalidReferenceError.prototype);\n return _this;\n }\n return InvalidReferenceError;\n}(Error));\n/**\n * @internal\n * @hidden\n */\nvar BaseReferenceType = /** @class */ (function (_super) {\n __extends(BaseReferenceType, _super);\n function BaseReferenceType(targetType, onInvalidated) {\n var _this = _super.call(this, \"reference(\" + targetType.name + \")\") || this;\n Object.defineProperty(_this, \"targetType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: targetType\n });\n Object.defineProperty(_this, \"onInvalidated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: onInvalidated\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Reference\n });\n return _this;\n }\n Object.defineProperty(BaseReferenceType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(BaseReferenceType.prototype, \"isAssignableFrom\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (type) {\n return this.targetType.isAssignableFrom(type);\n }\n });\n Object.defineProperty(BaseReferenceType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n return isValidIdentifier(value)\n ? typeCheckSuccess()\n : typeCheckFailure(context, value, \"Value is not a valid identifier, which is a string or a number\");\n }\n });\n Object.defineProperty(BaseReferenceType.prototype, \"fireInvalidated\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (cause, storedRefNode, referenceId, refTargetNode) {\n // to actually invalidate a reference we need an alive parent,\n // since it is a scalar value (immutable-ish) and we need to change it\n // from the parent\n var storedRefParentNode = storedRefNode.parent;\n if (!storedRefParentNode || !storedRefParentNode.isAlive) {\n return;\n }\n var storedRefParentValue = storedRefParentNode.storedValue;\n if (!storedRefParentValue) {\n return;\n }\n this.onInvalidated({\n cause: cause,\n parent: storedRefParentValue,\n invalidTarget: refTargetNode ? refTargetNode.storedValue : undefined,\n invalidId: referenceId,\n replaceRef: function (newRef) {\n applyPatch(storedRefNode.root.storedValue, {\n op: \"replace\",\n value: newRef,\n path: storedRefNode.path\n });\n },\n removeRef: function () {\n if (isModelType(storedRefParentNode.type)) {\n this.replaceRef(undefined);\n }\n else {\n applyPatch(storedRefNode.root.storedValue, {\n op: \"remove\",\n path: storedRefNode.path\n });\n }\n }\n });\n }\n });\n Object.defineProperty(BaseReferenceType.prototype, \"addTargetNodeWatcher\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode, referenceId) {\n var _this = this;\n // this will make sure the target node becomes created\n var refTargetValue = this.getValue(storedRefNode);\n if (!refTargetValue) {\n return undefined;\n }\n var refTargetNode = getStateTreeNode(refTargetValue);\n var hookHandler = function (_, refTargetNodeHook) {\n var cause = getInvalidationCause(refTargetNodeHook);\n if (!cause) {\n return;\n }\n _this.fireInvalidated(cause, storedRefNode, referenceId, refTargetNode);\n };\n var refTargetDetachHookDisposer = refTargetNode.registerHook(Hook.beforeDetach, hookHandler);\n var refTargetDestroyHookDisposer = refTargetNode.registerHook(Hook.beforeDestroy, hookHandler);\n return function () {\n refTargetDetachHookDisposer();\n refTargetDestroyHookDisposer();\n };\n }\n });\n Object.defineProperty(BaseReferenceType.prototype, \"watchTargetNodeForInvalidations\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode, identifier, customGetSet) {\n var _this = this;\n if (!this.onInvalidated) {\n return;\n }\n var onRefTargetDestroyedHookDisposer;\n // get rid of the watcher hook when the stored ref node is destroyed\n // detached is ignored since scalar nodes (where the reference resides) cannot be detached\n storedRefNode.registerHook(Hook.beforeDestroy, function () {\n if (onRefTargetDestroyedHookDisposer) {\n onRefTargetDestroyedHookDisposer();\n }\n });\n var startWatching = function (sync) {\n // re-create hook in case the stored ref gets reattached\n if (onRefTargetDestroyedHookDisposer) {\n onRefTargetDestroyedHookDisposer();\n }\n // make sure the target node is actually there and initialized\n var storedRefParentNode = storedRefNode.parent;\n var storedRefParentValue = storedRefParentNode && storedRefParentNode.storedValue;\n if (storedRefParentNode && storedRefParentNode.isAlive && storedRefParentValue) {\n var refTargetNodeExists = void 0;\n if (customGetSet) {\n refTargetNodeExists = !!customGetSet.get(identifier, storedRefParentValue);\n }\n else {\n refTargetNodeExists = storedRefNode.root.identifierCache.has(_this.targetType, normalizeIdentifier(identifier));\n }\n if (!refTargetNodeExists) {\n // we cannot change the reference in sync mode\n // since we are in the middle of a reconciliation/instantiation and the change would be overwritten\n // for those cases just let the wrong reference be assigned and fail upon usage\n // (like current references do)\n // this means that effectively this code will only run when it is created from a snapshot\n if (!sync) {\n _this.fireInvalidated(\"invalidSnapshotReference\", storedRefNode, identifier, null);\n }\n }\n else {\n onRefTargetDestroyedHookDisposer = _this.addTargetNodeWatcher(storedRefNode, identifier);\n }\n }\n };\n if (storedRefNode.state === NodeLifeCycle.FINALIZED) {\n // already attached, so the whole tree is ready\n startWatching(true);\n }\n else {\n if (!storedRefNode.isRoot) {\n // start watching once the whole tree is ready\n storedRefNode.root.registerHook(Hook.afterCreationFinalization, function () {\n // make sure to attach it so it can start listening\n if (storedRefNode.parent) {\n storedRefNode.parent.createObservableInstanceIfNeeded();\n }\n });\n }\n // start watching once the node is attached somewhere / parent changes\n storedRefNode.registerHook(Hook.afterAttach, function () {\n startWatching(false);\n });\n }\n }\n });\n return BaseReferenceType;\n}(SimpleType));\n/**\n * @internal\n * @hidden\n */\nvar IdentifierReferenceType = /** @class */ (function (_super) {\n __extends(IdentifierReferenceType, _super);\n function IdentifierReferenceType(targetType, onInvalidated) {\n return _super.call(this, targetType, onInvalidated) || this;\n }\n Object.defineProperty(IdentifierReferenceType.prototype, \"getValue\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode) {\n if (!storedRefNode.isAlive)\n return undefined;\n var storedRef = storedRefNode.storedValue;\n return storedRef.resolvedValue;\n }\n });\n Object.defineProperty(IdentifierReferenceType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode) {\n var ref = storedRefNode.storedValue;\n return ref.identifier;\n }\n });\n Object.defineProperty(IdentifierReferenceType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n var identifier = isStateTreeNode(initialValue) ? getIdentifier(initialValue) : initialValue;\n var storedRef = new StoredReference(initialValue, this.targetType);\n var storedRefNode = createScalarNode(this, parent, subpath, environment, storedRef);\n storedRef.node = storedRefNode;\n this.watchTargetNodeForInvalidations(storedRefNode, identifier, undefined);\n return storedRefNode;\n }\n });\n Object.defineProperty(IdentifierReferenceType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n if (!current.isDetaching && current.type === this) {\n var compareByValue = isStateTreeNode(newValue);\n var ref = current.storedValue;\n if ((!compareByValue && ref.identifier === newValue) ||\n (compareByValue && ref.resolvedValue === newValue)) {\n current.setParent(parent, subpath);\n return current;\n }\n }\n var newNode = this.instantiate(parent, subpath, undefined, newValue);\n current.die(); // noop if detaching\n return newNode;\n }\n });\n return IdentifierReferenceType;\n}(BaseReferenceType));\n/**\n * @internal\n * @hidden\n */\nvar CustomReferenceType = /** @class */ (function (_super) {\n __extends(CustomReferenceType, _super);\n function CustomReferenceType(targetType, options, onInvalidated) {\n var _this = _super.call(this, targetType, onInvalidated) || this;\n Object.defineProperty(_this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n return _this;\n }\n Object.defineProperty(CustomReferenceType.prototype, \"getValue\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode) {\n if (!storedRefNode.isAlive)\n return undefined;\n var referencedNode = this.options.get(storedRefNode.storedValue, storedRefNode.parent ? storedRefNode.parent.storedValue : null);\n return referencedNode;\n }\n });\n Object.defineProperty(CustomReferenceType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (storedRefNode) {\n return storedRefNode.storedValue;\n }\n });\n Object.defineProperty(CustomReferenceType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, newValue) {\n var identifier = isStateTreeNode(newValue)\n ? this.options.set(newValue, parent ? parent.storedValue : null)\n : newValue;\n var storedRefNode = createScalarNode(this, parent, subpath, environment, identifier);\n this.watchTargetNodeForInvalidations(storedRefNode, identifier, this.options);\n return storedRefNode;\n }\n });\n Object.defineProperty(CustomReferenceType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n var newIdentifier = isStateTreeNode(newValue)\n ? this.options.set(newValue, current ? current.storedValue : null)\n : newValue;\n if (!current.isDetaching && current.type === this && current.storedValue === newIdentifier) {\n current.setParent(parent, subpath);\n return current;\n }\n var newNode = this.instantiate(parent, subpath, undefined, newIdentifier);\n current.die(); // noop if detaching\n return newNode;\n }\n });\n return CustomReferenceType;\n}(BaseReferenceType));\n/**\n * `types.reference` - Creates a reference to another type, which should have defined an identifier.\n * See also the [reference and identifiers](https://github.com/mobxjs/mobx-state-tree#references-and-identifiers) section.\n */\nfunction reference(subType, options) {\n assertIsType(subType, 1);\n if (devMode()) {\n if (arguments.length === 2 && typeof arguments[1] === \"string\") {\n // istanbul ignore next\n throw fail(\"References with base path are no longer supported. Please remove the base path.\");\n }\n }\n var getSetOptions = options ? options : undefined;\n var onInvalidated = options\n ? options.onInvalidated\n : undefined;\n if (getSetOptions && (getSetOptions.get || getSetOptions.set)) {\n if (devMode()) {\n if (!getSetOptions.get || !getSetOptions.set) {\n throw fail(\"reference options must either contain both a 'get' and a 'set' method or none of them\");\n }\n }\n return new CustomReferenceType(subType, {\n get: getSetOptions.get,\n set: getSetOptions.set\n }, onInvalidated);\n }\n else {\n return new IdentifierReferenceType(subType, onInvalidated);\n }\n}\n/**\n * Returns if a given value represents a reference type.\n *\n * @param type\n * @returns\n */\nfunction isReferenceType(type) {\n return (type.flags & TypeFlags.Reference) > 0;\n}\n/**\n * `types.safeReference` - A safe reference is like a standard reference, except that it accepts the undefined value by default\n * and automatically sets itself to undefined (when the parent is a model) / removes itself from arrays and maps\n * when the reference it is pointing to gets detached/destroyed.\n *\n * The optional options parameter object accepts a parameter named `acceptsUndefined`, which is set to true by default, so it is suitable\n * for model properties.\n * When used inside collections (arrays/maps), it is recommended to set this option to false so it can't take undefined as value,\n * which is usually the desired in those cases.\n * Additionally, the optional options parameter object accepts a parameter named `onInvalidated`, which will be called when the reference target node that the reference is pointing to is about to be detached/destroyed\n *\n * Strictly speaking it is a `types.maybe(types.reference(X))` (when `acceptsUndefined` is set to true, the default) and\n * `types.reference(X)` (when `acceptsUndefined` is set to false), both of them with a customized `onInvalidated` option.\n *\n * @param subType\n * @param options\n * @returns\n */\nfunction safeReference(subType, options) {\n var refType = reference(subType, __assign(__assign({}, options), { onInvalidated: function (ev) {\n if (options && options.onInvalidated) {\n options.onInvalidated(ev);\n }\n ev.removeRef();\n } }));\n if (options && options.acceptsUndefined === false) {\n return refType;\n }\n else {\n return maybe(refType);\n }\n}\n\nvar BaseIdentifierType = /** @class */ (function (_super) {\n __extends(BaseIdentifierType, _super);\n function BaseIdentifierType(name, validType) {\n var _this = _super.call(this, name) || this;\n Object.defineProperty(_this, \"validType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: validType\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Identifier\n });\n return _this;\n }\n Object.defineProperty(BaseIdentifierType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n if (!parent || !(parent.type instanceof ModelType))\n throw fail(\"Identifier types can only be instantiated as direct child of a model type\");\n return createScalarNode(this, parent, subpath, environment, initialValue);\n }\n });\n Object.defineProperty(BaseIdentifierType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, newValue, parent, subpath) {\n // we don't consider detaching here since identifier are scalar nodes, and scalar nodes cannot be detached\n if (current.storedValue !== newValue)\n throw fail(\"Tried to change identifier from '\" + current.storedValue + \"' to '\" + newValue + \"'. Changing identifiers is not allowed.\");\n current.setParent(parent, subpath);\n return current;\n }\n });\n Object.defineProperty(BaseIdentifierType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (typeof value !== this.validType) {\n return typeCheckFailure(context, value, \"Value is not a valid \" + this.describe() + \", expected a \" + this.validType);\n }\n return typeCheckSuccess();\n }\n });\n return BaseIdentifierType;\n}(SimpleType));\n/**\n * @internal\n * @hidden\n */\nvar IdentifierType = /** @class */ (function (_super) {\n __extends(IdentifierType, _super);\n function IdentifierType() {\n var _this = _super.call(this, \"identifier\", \"string\") || this;\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Identifier\n });\n return _this;\n }\n Object.defineProperty(IdentifierType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"identifier\";\n }\n });\n return IdentifierType;\n}(BaseIdentifierType));\n/**\n * @internal\n * @hidden\n */\nvar IdentifierNumberType = /** @class */ (function (_super) {\n __extends(IdentifierNumberType, _super);\n function IdentifierNumberType() {\n return _super.call(this, \"identifierNumber\", \"number\") || this;\n }\n Object.defineProperty(IdentifierNumberType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n return node.storedValue;\n }\n });\n Object.defineProperty(IdentifierNumberType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return \"identifierNumber\";\n }\n });\n return IdentifierNumberType;\n}(BaseIdentifierType));\n/**\n * `types.identifier` - Identifiers are used to make references, lifecycle events and reconciling works.\n * Inside a state tree, for each type can exist only one instance for each given identifier.\n * For example there couldn't be 2 instances of user with id 1. If you need more, consider using references.\n * Identifier can be used only as type property of a model.\n * This type accepts as parameter the value type of the identifier field that can be either string or number.\n *\n * Example:\n * ```ts\n * const Todo = types.model(\"Todo\", {\n * id: types.identifier,\n * title: types.string\n * })\n * ```\n *\n * @returns\n */\nvar identifier = new IdentifierType();\n/**\n * `types.identifierNumber` - Similar to `types.identifier`. This one will serialize from / to a number when applying snapshots\n *\n * Example:\n * ```ts\n * const Todo = types.model(\"Todo\", {\n * id: types.identifierNumber,\n * title: types.string\n * })\n * ```\n *\n * @returns\n */\nvar identifierNumber = new IdentifierNumberType();\n/**\n * Returns if a given value represents an identifier type.\n *\n * @param type\n * @returns\n */\nfunction isIdentifierType(type) {\n return isType(type) && (type.flags & TypeFlags.Identifier) > 0;\n}\n/**\n * @internal\n * @hidden\n */\nfunction normalizeIdentifier(id) {\n return \"\" + id;\n}\n/**\n * @internal\n * @hidden\n */\nfunction isValidIdentifier(id) {\n return typeof id === \"string\" || typeof id === \"number\";\n}\n/**\n * @internal\n * @hidden\n */\nfunction assertIsValidIdentifier(id, argNumber) {\n assertArg(id, isValidIdentifier, \"string or number (identifier)\", argNumber);\n}\n\n/**\n * `types.custom` - Creates a custom type. Custom types can be used for arbitrary immutable values, that have a serializable representation. For example, to create your own Date representation, Decimal type etc.\n *\n * The signature of the options is:\n * ```ts\n * export interface CustomTypeOptions<S, T> {\n * // Friendly name\n * name: string\n * // given a serialized value and environment, how to turn it into the target type\n * fromSnapshot(snapshot: S, env: any): T\n * // return the serialization of the current value\n * toSnapshot(value: T): S\n * // if true, this is a converted value, if false, it's a snapshot\n * isTargetType(value: T | S): value is T\n * // a non empty string is assumed to be a validation error\n * getValidationMessage?(snapshot: S): string\n * }\n * ```\n *\n * Example:\n * ```ts\n * const DecimalPrimitive = types.custom<string, Decimal>({\n * name: \"Decimal\",\n * fromSnapshot(value: string) {\n * return new Decimal(value)\n * },\n * toSnapshot(value: Decimal) {\n * return value.toString()\n * },\n * isTargetType(value: string | Decimal): boolean {\n * return value instanceof Decimal\n * },\n * getValidationMessage(value: string): string {\n * if (/^-?\\d+\\.\\d+$/.test(value)) return \"\" // OK\n * return `'${value}' doesn't look like a valid decimal number`\n * }\n * })\n *\n * const Wallet = types.model({\n * balance: DecimalPrimitive\n * })\n * ```\n *\n * @param options\n * @returns\n */\nfunction custom(options) {\n return new CustomType(options);\n}\n/**\n * @internal\n * @hidden\n */\nvar CustomType = /** @class */ (function (_super) {\n __extends(CustomType, _super);\n function CustomType(options) {\n var _this = _super.call(this, options.name) || this;\n Object.defineProperty(_this, \"options\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: options\n });\n Object.defineProperty(_this, \"flags\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TypeFlags.Custom\n });\n return _this;\n }\n Object.defineProperty(CustomType.prototype, \"describe\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function () {\n return this.name;\n }\n });\n Object.defineProperty(CustomType.prototype, \"isValidSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (value, context) {\n if (this.options.isTargetType(value))\n return typeCheckSuccess();\n var typeError = this.options.getValidationMessage(value);\n if (typeError) {\n return typeCheckFailure(context, value, \"Invalid value for type '\" + this.name + \"': \" + typeError);\n }\n return typeCheckSuccess();\n }\n });\n Object.defineProperty(CustomType.prototype, \"getSnapshot\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (node) {\n return this.options.toSnapshot(node.storedValue);\n }\n });\n Object.defineProperty(CustomType.prototype, \"instantiate\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (parent, subpath, environment, initialValue) {\n var valueToStore = this.options.isTargetType(initialValue)\n ? initialValue\n : this.options.fromSnapshot(initialValue, parent && parent.root.environment);\n return createScalarNode(this, parent, subpath, environment, valueToStore);\n }\n });\n Object.defineProperty(CustomType.prototype, \"reconcile\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function (current, value, parent, subpath) {\n var isSnapshot = !this.options.isTargetType(value);\n // in theory customs use scalar nodes which cannot be detached, but still...\n if (!current.isDetaching) {\n var unchanged = current.type === this &&\n (isSnapshot ? value === current.snapshot : value === current.storedValue);\n if (unchanged) {\n current.setParent(parent, subpath);\n return current;\n }\n }\n var valueToStore = isSnapshot\n ? this.options.fromSnapshot(value, parent.root.environment)\n : value;\n var newNode = this.instantiate(parent, subpath, undefined, valueToStore);\n current.die(); // noop if detaching\n return newNode;\n }\n });\n return CustomType;\n}(SimpleType));\n\n// we import the types to re-export them inside types.\nvar types = {\n enumeration: enumeration,\n model: model,\n compose: compose,\n custom: custom,\n reference: reference,\n safeReference: safeReference,\n union: union,\n optional: optional,\n literal: literal,\n maybe: maybe,\n maybeNull: maybeNull,\n refinement: refinement,\n string: string,\n boolean: boolean,\n number: number,\n integer: integer,\n float: float,\n finite: finite,\n Date: DatePrimitive,\n map: map,\n array: array,\n frozen: frozen,\n identifier: identifier,\n identifierNumber: identifierNumber,\n late: late,\n lazy: lazy,\n undefined: undefinedType,\n null: nullType,\n snapshotProcessor: snapshotProcessor\n};\n\nexport { addDisposer, addMiddleware, applyAction, applyPatch, applySnapshot, cast, castFlowReturn, castToReferenceSnapshot, castToSnapshot, clone, createActionTrackingMiddleware, createActionTrackingMiddleware2, decorate, destroy, detach, escapeJsonPath, flow, getChildType, getEnv, getIdentifier, getLivelinessChecking, getMembers, getNodeId, getParent, getParentOfType, getPath, getPathParts, getPropertyMembers, getRelativePath, getRoot, getRunningActionContext, getSnapshot, getType, hasParent, hasParentOfType, isActionContextChildOf, isActionContextThisOrChildOf, isAlive, isArrayType, isFrozenType, isIdentifierType, isLateType, isLiteralType, isMapType, isModelType, isOptionalType, isPrimitiveType, isProtected, isReferenceType, isRefinementType, isRoot, isStateTreeNode, isType, isUnionType, isValidReference, joinJsonPath, onAction, onPatch, onSnapshot, process$1 as process, protect, recordActions, recordPatches, resolveIdentifier, resolvePath, setLivelinessChecking, setLivelynessChecking, splitJsonPath, types as t, toGenerator, toGeneratorFunction, tryReference, tryResolve, typecheck, types, unescapeJsonPath, unprotect, walk };\n","const niceErrors = {\n 0: `Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,\n 1(annotationType, key: PropertyKey) {\n return `Cannot apply '${annotationType}' to '${key.toString()}': Field not found.`\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: `Invalid annotation`,\n 13: `Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: `Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 16: `Modification exception: the internal structure of an observable array was changed.`,\n 17(index, length) {\n return `[mobx.array] Index out of bounds, ${index} is larger than ${length}`\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name\n },\n 20(other) {\n return \"Cannot initialize map from \" + other\n },\n 21(dataStructure) {\n return `Cannot convert to map from '${dataStructure}'`\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24(thing) {\n return \"Cannot obtain administration from \" + thing\n },\n 25(property, name) {\n return `the entry '${property}' does not exist in the observable map '${name}'`\n },\n 26: \"please specify a property\",\n 27(property, name) {\n return `no observable property '${property.toString()}' found on the observable object '${name}'`\n },\n 28(thing) {\n return \"Cannot obtain atom from \" + thing\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32(name, derivation) {\n return `Cycle detected in computation ${name}: ${derivation}`\n },\n 33(name) {\n return `The setter of computed value '${name}' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`\n },\n 34(name) {\n return `[ComputedValue '${name}'] It is not possible to assign a new value to a computed value.`\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37(method) {\n return `[mobx] \\`observableArray.${method}()\\` mutates the array in-place, which is not allowed inside a derivation. Use \\`array.slice().${method}()\\` instead`\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n} as const\n\nconst errors: typeof niceErrors = __DEV__ ? niceErrors : ({} as any)\n\nexport function die(error: string | keyof typeof errors, ...args: any[]): never {\n if (__DEV__) {\n let e: any = typeof error === \"string\" ? error : errors[error]\n if (typeof e === \"function\") e = e.apply(null, args as any)\n throw new Error(`[MobX] ${e}`)\n }\n throw new Error(\n typeof error === \"number\"\n ? `[MobX] minified error nr: ${error}${\n args.length ? \" \" + args.map(String).join(\",\") : \"\"\n }. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`\n : `[MobX] ${error}`\n )\n}\n","declare const window: any\ndeclare const self: any\n\nconst mockGlobal = {}\n\nexport function getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis\n }\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}\n","import { globalState, die } from \"../internal\"\n\n// We shorten anything used > 5 times\nexport const assign = Object.assign\nexport const getDescriptor = Object.getOwnPropertyDescriptor\nexport const defineProperty = Object.defineProperty\nexport const objectPrototype = Object.prototype\n\nexport const EMPTY_ARRAY = []\nObject.freeze(EMPTY_ARRAY)\n\nexport const EMPTY_OBJECT = {}\nObject.freeze(EMPTY_OBJECT)\n\nexport interface Lambda {\n (): void\n name?: string\n}\n\nconst hasProxy = typeof Proxy !== \"undefined\"\nconst plainObjectString = Object.toString()\n\nexport function assertProxies() {\n if (!hasProxy) {\n die(\n __DEV__\n ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\"\n : \"Proxy not available\"\n )\n }\n}\n\nexport function warnAboutProxyRequirement(msg: string) {\n if (__DEV__ && globalState.verifyProxies) {\n die(\n \"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" +\n msg\n )\n }\n}\n\nexport function getNextId() {\n return ++globalState.mobxGuid\n}\n\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nexport function once(func: Lambda): Lambda {\n let invoked = false\n return function () {\n if (invoked) {\n return\n }\n invoked = true\n return (func as any).apply(this, arguments)\n }\n}\n\nexport const noop = () => {}\n\nexport function isFunction(fn: any): fn is Function {\n return typeof fn === \"function\"\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\"\n}\n\nexport function isStringish(value: any): value is string | number | symbol {\n const t = typeof value\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true\n }\n return false\n}\n\nexport function isObject(value: any): value is Object {\n return value !== null && typeof value === \"object\"\n}\n\nexport function isPlainObject(value: any) {\n if (!isObject(value)) {\n return false\n }\n const proto = Object.getPrototypeOf(value)\n if (proto == null) {\n return true\n }\n const protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n return (\n typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString\n )\n}\n\n// https://stackoverflow.com/a/37865170\nexport function isGenerator(obj: any): boolean {\n const constructor = obj?.constructor\n if (!constructor) {\n return false\n }\n if (\n \"GeneratorFunction\" === constructor.name ||\n \"GeneratorFunction\" === constructor.displayName\n ) {\n return true\n }\n return false\n}\n\nexport function addHiddenProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value\n })\n}\n\nexport function addHiddenFinalProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value\n })\n}\n\nexport function createInstanceofPredicate<T>(\n name: string,\n theClass: new (...args: any[]) => T\n): (x: any) => x is T {\n const propName = \"isMobX\" + name\n theClass.prototype[propName] = true\n return function (x) {\n return isObject(x) && x[propName] === true\n } as any\n}\n\n/**\n * Yields true for both native and observable Map, even across different windows.\n */\nexport function isES6Map(thing: unknown): thing is Map<any, any> {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Map]\"\n}\n\n/**\n * Makes sure a Map is an instance of non-inherited native or observable Map.\n */\nexport function isPlainES6Map(thing: Map<unknown, unknown>): boolean {\n const mapProto = Object.getPrototypeOf(thing)\n const objectProto = Object.getPrototypeOf(mapProto)\n const nullProto = Object.getPrototypeOf(objectProto)\n return nullProto === null\n}\n\n/**\n * Yields true for both native and observable Set, even across different windows.\n */\nexport function isES6Set(thing: unknown): thing is Set<any> {\n return thing != null && Object.prototype.toString.call(thing) === \"[object Set]\"\n}\n\nconst hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\"\n\n/**\n * Returns the following: own enumerable keys and symbols.\n */\nexport function getPlainObjectKeys(object: any) {\n const keys = Object.keys(object)\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys\n }\n const symbols = Object.getOwnPropertySymbols(object)\n if (!symbols.length) {\n return keys\n }\n return [...keys, ...symbols.filter(s => objectPrototype.propertyIsEnumerable.call(object, s))]\n}\n\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nexport const ownKeys: (target: any) => Array<string | symbol> =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : hasGetOwnPropertySymbols\n ? obj => Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj) as any)\n : /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport function stringifyKey(key: any): string {\n if (typeof key === \"string\") {\n return key\n }\n if (typeof key === \"symbol\") {\n return key.toString()\n }\n return new String(key).toString()\n}\n\nexport function toPrimitive(value: any) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value\n}\n\nexport function hasProp(target: Object, prop: PropertyKey): boolean {\n return objectPrototype.hasOwnProperty.call(target, prop)\n}\n\n// From Immer utils\nexport const getOwnPropertyDescriptors =\n Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(target: any) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n const res: any = {}\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(key => {\n res[key] = getDescriptor(target, key)\n })\n return res\n }\n\nexport function getFlag(flags: number, mask: number) {\n return !!(flags & mask)\n}\n\nexport function setFlag(flags: number, mask: number, newValue: boolean): number {\n if (newValue) {\n flags |= mask\n } else {\n flags &= ~mask\n }\n return flags\n}\n","import { Annotation, addHiddenProp, AnnotationsMap, hasProp, die, isOverride } from \"../internal\"\n\nimport type { Decorator } from \"../types/decorator_fills\"\n\nexport const storedAnnotationsSymbol = Symbol(\"mobx-stored-annotations\")\n\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */\nexport function createDecoratorAnnotation<D extends Decorator = Decorator>(\n annotation: Annotation\n): PropertyDecorator & Annotation & D {\n function decorator(target, property) {\n if (is20223Decorator(property)) {\n return annotation.decorate_20223_(target, property)\n } else {\n storeAnnotation(target, property, annotation)\n }\n }\n return Object.assign(decorator, annotation) as any\n}\n\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */\nexport function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, {\n // Inherit annotations\n ...prototype[storedAnnotationsSymbol]\n })\n }\n // @override must override something\n if (__DEV__ && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n die(\n `'${fieldName}' is decorated with 'override', ` +\n `but no such decorated member was found on prototype.`\n )\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key)\n\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation\n }\n}\n\nfunction assertNotDecorated(prototype: object, annotation: Annotation, key: PropertyKey) {\n if (__DEV__ && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n const currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '@${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already decorated with '@${currentAnnotationType}'.` +\n `\\nRe-decorating fields is not allowed.` +\n `\\nUse '@override' decorator for methods overridden by subclass.`\n )\n }\n}\n\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */\nexport function collectStoredAnnotations(target): AnnotationsMap<any, any> {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, { ...target[storedAnnotationsSymbol] })\n }\n return target[storedAnnotationsSymbol]\n}\n\nexport function is20223Decorator(context): context is DecoratorContext {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\"\n}\n\nexport function assert20223DecoratorType(\n context: DecoratorContext,\n types: DecoratorContext[\"kind\"][]\n) {\n if (__DEV__ && !types.includes(context.kind)) {\n die(\n `The decorator applied to '${String(context.name)}' cannot be used on a ${\n context.kind\n } element`\n )\n }\n}\n","import {\n die,\n Annotation,\n hasProp,\n createDecoratorAnnotation,\n ObservableObjectAdministration,\n MakeResult\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"./decorator_fills\"\n\nconst OVERRIDE = \"override\"\n\nexport const override: Annotation & PropertyDecorator & ClassMethodDecorator =\n createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_,\n extend_,\n decorate_20223_\n })\n\nexport function isOverride(annotation: Annotation): boolean {\n return annotation.annotationType_ === OVERRIDE\n}\n\nfunction make_(this: Annotation, adm: ObservableObjectAdministration, key): MakeResult {\n // Must not be plain object\n if (__DEV__ && adm.isPlainObject_) {\n die(\n `Cannot apply '${this.annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${this.annotationType_}' cannot be used on plain objects.`\n )\n }\n // Must override something\n if (__DEV__ && !hasProp(adm.appliedAnnotations_!, key)) {\n die(\n `'${adm.name_}.${key.toString()}' is annotated with '${this.annotationType_}', ` +\n `but no such annotated member was found on prototype.`\n )\n }\n return MakeResult.Cancel\n}\n\nfunction extend_(this: Annotation, adm, key, descriptor, proxyTrap): boolean {\n die(`'${this.annotationType_}' can only be used with 'makeObservable'`)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: DecoratorContext) {\n console.warn(`'${this.annotationType_}' cannot be used with decorators - this is a no-op`)\n}\n","import {\n IDerivationState_,\n IObservable,\n IDerivation,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n noop,\n onBecomeObserved,\n onBecomeUnobserved,\n propagateChanged,\n reportObserved,\n startBatch,\n Lambda\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\nexport const $mobx = Symbol(\"mobx administration\")\n\nexport interface IAtom extends IObservable {\n reportObserved(): boolean\n reportChanged(): void\n}\n\nexport class Atom implements IAtom {\n private static readonly isBeingObservedMask_ = 0b001\n private static readonly isPendingUnobservationMask_ = 0b010\n private static readonly diffValueMask_ = 0b100\n private flags_ = 0b000\n\n observers_ = new Set<IDerivation>()\n\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.NOT_TRACKING_\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 constructor(public name_ = __DEV__ ? \"Atom@\" + getNextId() : \"Atom\") {}\n\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n get isBeingObserved(): boolean {\n return getFlag(this.flags_, Atom.isBeingObservedMask_)\n }\n set isBeingObserved(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Atom.isBeingObservedMask_, newValue)\n }\n\n get isPendingUnobservation(): boolean {\n return getFlag(this.flags_, Atom.isPendingUnobservationMask_)\n }\n set isPendingUnobservation(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Atom.isPendingUnobservationMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, Atom.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(this.flags_, Atom.diffValueMask_, newValue === 1 ? true : false)\n }\n\n // onBecomeObservedListeners\n public onBOL: Set<Lambda> | undefined\n // onBecomeUnobservedListeners\n public onBUOL: Set<Lambda> | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\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 public reportObserved(): boolean {\n return reportObserved(this)\n }\n\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n public reportChanged() {\n startBatch()\n propagateChanged(this)\n endBatch()\n }\n\n toString() {\n return this.name_\n }\n}\n\nexport const isAtom = createInstanceofPredicate(\"Atom\", Atom)\n\nexport function createAtom(\n name: string,\n onBecomeObservedHandler: () => void = noop,\n onBecomeUnobservedHandler: () => void = noop\n): IAtom {\n const atom = new Atom(name)\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler)\n }\n\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler)\n }\n return atom\n}\n","import { deepEqual } from \"../internal\"\n\nexport interface IEqualsComparer<T> {\n (a: T, b: T): boolean\n}\n\nfunction identityComparer(a: any, b: any): boolean {\n return a === b\n}\n\nfunction structuralComparer(a: any, b: any): boolean {\n return deepEqual(a, b)\n}\n\nfunction shallowComparer(a: any, b: any): boolean {\n return deepEqual(a, b, 1)\n}\n\nfunction defaultComparer(a: any, b: any): boolean {\n if (Object.is) {\n return Object.is(a, b)\n }\n\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b\n}\n\nexport const comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n}\n","import {\n deepEqual,\n isES6Map,\n isES6Set,\n isObservable,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n isPlainObject,\n observable,\n die,\n isAction,\n autoAction,\n flow,\n isFlow,\n isGenerator\n} from \"../internal\"\n\nexport interface IEnhancer<T> {\n (newValue: T, oldValue: T | undefined, name: string): T\n}\n\nexport function deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v\n }\n\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, { name })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name })\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v)\n } else {\n return autoAction(name, v)\n }\n }\n return v\n}\n\nexport function shallowEnhancer(v, _, name): any {\n if (v === undefined || v === null) {\n return v\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v\n }\n if (Array.isArray(v)) {\n return observable.array(v, { name, deep: false })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name, deep: false })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name, deep: false })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name, deep: false })\n }\n\n if (__DEV__) {\n die(\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\"\n )\n }\n}\n\nexport function referenceEnhancer(newValue?) {\n // never turn into an observable\n return newValue\n}\n\nexport function refStructEnhancer(v, oldValue): any {\n if (__DEV__ && isObservable(v)) {\n die(`observable.struct should not be used with observable values`)\n }\n if (deepEqual(v, oldValue)) {\n return oldValue\n }\n return v\n}\n","import {\n ObservableObjectAdministration,\n createAction,\n isAction,\n defineProperty,\n die,\n isFunction,\n Annotation,\n globalState,\n MakeResult,\n assert20223DecoratorType,\n storeAnnotation\n} from \"../internal\"\n\nexport function createActionAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // bound\n if (this.options_?.bound) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Break\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false)\n defineProperty(source, key, actionDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor)\n return adm.defineProperty_(key, actionDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: DecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\", \"field\"])\n }\n const { kind, name, addInitializer } = context\n const ann = this\n\n const _createAction = m =>\n createAction(ann.options_?.name ?? name!.toString(), m, ann.options_?.autoAction ?? false)\n\n // Backwards/Legacy behavior, expects makeObservable(this)\n if (kind == \"field\") {\n addInitializer(function () {\n storeAnnotation(this, name, ann)\n })\n return\n }\n\n if (kind == \"method\") {\n if (!isAction(mthd)) {\n mthd = _createAction(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobxAction = true\n self[name] = bound\n })\n }\n\n return mthd\n }\n\n die(\n `Cannot apply '${ann.annotationType_}' to '${String(name)}' (kind: ${kind}):` +\n `\\n'${ann.annotationType_}' can only be used on properties with a function value.`\n )\n}\n\nfunction assertActionDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a function value.`\n )\n }\n}\n\nexport function createActionDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n) {\n assertActionDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n if (annotation.options_?.bound) {\n value = value.bind(adm.proxy_ ?? adm.target_)\n }\n return {\n value: createAction(\n annotation.options_?.name ?? key.toString(),\n value,\n annotation.options_?.autoAction ?? false,\n // https://github.com/mobxjs/mobx/discussions/3140\n annotation.options_?.bound ? adm.proxy_ ?? adm.target_ : undefined\n ),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n Annotation,\n defineProperty,\n die,\n flow,\n isFlow,\n isFunction,\n globalState,\n MakeResult,\n hasProp,\n assert20223DecoratorType\n} from \"../internal\"\n\nexport function createFlowAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if (this.options_?.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return MakeResult.Cancel\n }\n }\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false)\n defineProperty(source, key, flowDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, this.options_?.bound)\n return adm.defineProperty_(key, flowDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: ClassMethodDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\"])\n }\n const { name, addInitializer } = context\n\n if (!isFlow(mthd)) {\n mthd = flow(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobXFlow = true\n self[name] = bound\n })\n }\n\n return mthd\n}\n\nfunction assertFlowDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a generator function value.`\n )\n }\n}\n\nfunction createFlowDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n bound: boolean,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n): PropertyDescriptor {\n assertFlowDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value)\n }\n if (bound) {\n // We do not keep original function around, so we bind the existing flow\n value = value.bind(adm.proxy_ ?? adm.target_)\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true\n }\n return {\n value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n $mobx,\n asObservableObject,\n ComputedValue\n} from \"../internal\"\n\nexport function createComputedAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertComputedDescriptor(adm, this, key, descriptor)\n return adm.defineComputedProperty_(\n key,\n {\n ...this.options_,\n get: descriptor.get,\n set: descriptor.set\n },\n proxyTrap\n )\n}\n\nfunction decorate_20223_(this: Annotation, get, context: ClassGetterDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"getter\"])\n }\n const ann = this\n const { name: key, addInitializer } = context\n\n addInitializer(function () {\n const adm: ObservableObjectAdministration = asObservableObject(this)[$mobx]\n const options = {\n ...ann.options_,\n get,\n context: this\n }\n options.name ||= __DEV__\n ? `${adm.name_}.${key.toString()}`\n : `ObservableObject.${key.toString()}`\n adm.values_.set(key, new ComputedValue(options))\n })\n\n return function () {\n return this[$mobx].getObservablePropValue_(key)\n }\n}\n\nfunction assertComputedDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { get }: PropertyDescriptor\n) {\n if (__DEV__ && !get) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on getter(+setter) properties.`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n deepEnhancer,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n ObservableValue,\n asObservableObject,\n $mobx\n} from \"../internal\"\n\nexport function createObservableAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertObservableDescriptor(adm, this, key, descriptor)\n return adm.defineObservableProperty_(\n key,\n descriptor.value,\n this.options_?.enhancer ?? deepEnhancer,\n proxyTrap\n )\n}\n\nfunction decorate_20223_(\n this: Annotation,\n desc,\n context: ClassAccessorDecoratorContext | ClassFieldDecoratorContext\n) {\n if (__DEV__) {\n if (context.kind === \"field\") {\n throw die(\n `Please use \\`@observable accessor ${String(\n context.name\n )}\\` instead of \\`@observable ${String(context.name)}\\``\n )\n }\n assert20223DecoratorType(context, [\"accessor\"])\n }\n\n const ann = this\n const { kind, name } = context\n\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n const initializedObjects = new WeakSet()\n\n function initializeObservable(target, value) {\n const adm: ObservableObjectAdministration = asObservableObject(target)[$mobx]\n const observable = new ObservableValue(\n value,\n ann.options_?.enhancer ?? deepEnhancer,\n __DEV__ ? `${adm.name_}.${name.toString()}` : `ObservableObject.${name.toString()}`,\n false\n )\n adm.values_.set(name, observable)\n initializedObjects.add(target)\n }\n\n if (kind == \"accessor\") {\n return {\n get() {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, desc.get.call(this))\n }\n return this[$mobx].getObservablePropValue_(name)\n },\n set(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return this[$mobx].setObservablePropValue_(name, value)\n },\n init(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return value\n }\n }\n }\n\n return\n}\n\nfunction assertObservableDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n) {\n if (__DEV__ && !(\"value\" in descriptor)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' cannot be used on getter/setter properties`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n observable,\n Annotation,\n defineProperty,\n createAction,\n globalState,\n flow,\n computed,\n autoAction,\n isGenerator,\n MakeResult,\n die\n} from \"../internal\"\n\nconst AUTO = \"true\"\n\nexport const autoAnnotation: Annotation = createAutoAnnotation()\n\nexport function createAutoAnnotation(options?: object): Annotation {\n return {\n annotationType_: AUTO,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n const set = createAction(key.toString(), descriptor.set) as (v: any) => void\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set\n }) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set\n })\n return MakeResult.Continue\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n if (isGenerator(descriptor.value)) {\n const flowAnnotation = this.options_?.autoBind ? flow.bound : flow\n return flowAnnotation.make_(adm, key, descriptor, source)\n }\n const actionAnnotation = this.options_?.autoBind ? autoAction.bound : autoAction\n return actionAnnotation.make_(adm, key, descriptor, source)\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n return observableAnnotation.make_(adm, key, descriptor, source)\n}\n\nfunction extend_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(\n key,\n {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set) as (v: any) => void\n },\n proxyTrap\n )\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: ClassGetterDecoratorContext) {\n die(`'${this.annotationType_}' cannot be used as a decorator`)\n}\n","import {\n IEnhancer,\n IEqualsComparer,\n IObservableArray,\n IObservableMapInitialValues,\n IObservableSetInitialValues,\n IObservableValue,\n ObservableMap,\n ObservableSet,\n ObservableValue,\n asDynamicObservableObject,\n createObservableArray,\n deepEnhancer,\n extendObservable,\n isES6Map,\n isES6Set,\n isObservable,\n isPlainObject,\n referenceEnhancer,\n Annotation,\n shallowEnhancer,\n refStructEnhancer,\n AnnotationsMap,\n asObservableObject,\n storeAnnotation,\n createDecoratorAnnotation,\n createLegacyArray,\n globalState,\n assign,\n isStringish,\n createObservableAnnotation,\n createAutoAnnotation,\n is20223Decorator,\n initObservable\n} from \"../internal\"\n\nimport type { ClassAccessorDecorator, ClassFieldDecorator } from \"../types/decorator_fills\"\n\nexport const OBSERVABLE = \"observable\"\nexport const OBSERVABLE_REF = \"observable.ref\"\nexport const OBSERVABLE_SHALLOW = \"observable.shallow\"\nexport const OBSERVABLE_STRUCT = \"observable.struct\"\n\nexport type CreateObservableOptions = {\n name?: string\n equals?: IEqualsComparer<any>\n deep?: boolean\n defaultDecorator?: Annotation\n proxy?: boolean\n autoBind?: boolean\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nexport const defaultCreateObservableOptions: CreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n}\nObject.freeze(defaultCreateObservableOptions)\n\nexport function asCreateObservableOptions(thing: any): CreateObservableOptions {\n return thing || defaultCreateObservableOptions\n}\n\nconst observableAnnotation = createObservableAnnotation(OBSERVABLE)\nconst observableRefAnnotation = createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n})\nconst observableShallowAnnotation = createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n})\nconst observableStructAnnotation = createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n})\nconst observableDecoratorAnnotation =\n createDecoratorAnnotation<ClassAccessorDecorator>(observableAnnotation)\n\nexport function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer<any> {\n return options.deep === true\n ? deepEnhancer\n : options.deep === false\n ? referenceEnhancer\n : getEnhancerFromAnnotation(options.defaultDecorator)\n}\n\nexport function getAnnotationFromOptions(\n options?: CreateObservableOptions\n): Annotation | undefined {\n return options ? options.defaultDecorator ?? createAutoAnnotation(options) : undefined\n}\n\nexport function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer<any> {\n return !annotation ? deepEnhancer : annotation.options_?.enhancer ?? deepEnhancer\n}\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: any, arg2?: any, arg3?: any) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return observableAnnotation.decorate_20223_(v, arg2)\n }\n\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation)\n return\n }\n\n // already observable - ignore\n if (isObservable(v)) {\n return v\n }\n\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3)\n }\n\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2)\n }\n\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2)\n }\n\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2)\n }\n\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v\n }\n\n // anything else\n return observable.box(v, arg2)\n}\nassign(createObservable, observableDecoratorAnnotation)\n\nexport interface IObservableValueFactory {\n <T>(value: T, options?: CreateObservableOptions): IObservableValue<T>\n <T>(value?: T, options?: CreateObservableOptions): IObservableValue<T | undefined>\n}\n\nexport interface IObservableFactory\n extends Annotation,\n PropertyDecorator,\n ClassAccessorDecorator,\n ClassFieldDecorator {\n // TODO: remove ClassFieldDecorator, this is only temporarily support for legacy decorators\n <T = any>(value: T[], options?: CreateObservableOptions): IObservableArray<T>\n <T = any>(value: Set<T>, options?: CreateObservableOptions): ObservableSet<T>\n <K = any, V = any>(value: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>\n <T extends object>(\n value: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ): T\n\n box: IObservableValueFactory\n array: <T = any>(initialValues?: T[], options?: CreateObservableOptions) => IObservableArray<T>\n set: <T = any>(\n initialValues?: IObservableSetInitialValues<T>,\n options?: CreateObservableOptions\n ) => ObservableSet<T>\n map: <K = any, V = any>(\n initialValues?: IObservableMapInitialValues<K, V>,\n options?: CreateObservableOptions\n ) => ObservableMap<K, V>\n object: <T = any>(\n props: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ) => T\n\n /**\n * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.\n */\n ref: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n /**\n * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure\n */\n shallow: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n deep: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n struct: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n}\n\nconst observableFactories: IObservableFactory = {\n box<T = any>(value: T, options?: CreateObservableOptions): IObservableValue<T> {\n const o = asCreateObservableOptions(options)\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals)\n },\n array<T = any>(initialValues?: T[], options?: CreateObservableOptions): IObservableArray<T> {\n const o = asCreateObservableOptions(options)\n return (\n globalState.useProxies === false || o.proxy === false\n ? createLegacyArray\n : createObservableArray\n )(initialValues, getEnhancerFromOptions(o), o.name)\n },\n map<K = any, V = any>(\n initialValues?: IObservableMapInitialValues<K, V>,\n options?: CreateObservableOptions\n ): ObservableMap<K, V> {\n const o = asCreateObservableOptions(options)\n return new ObservableMap<K, V>(initialValues, getEnhancerFromOptions(o), o.name)\n },\n set<T = any>(\n initialValues?: IObservableSetInitialValues<T>,\n options?: CreateObservableOptions\n ): ObservableSet<T> {\n const o = asCreateObservableOptions(options)\n return new ObservableSet<T>(initialValues, getEnhancerFromOptions(o), o.name)\n },\n object<T extends object = any>(\n props: T,\n decorators?: AnnotationsMap<T, never>,\n options?: CreateObservableOptions\n ): T {\n return initObservable(() =>\n extendObservable(\n globalState.useProxies === false || options?.proxy === false\n ? asObservableObject({}, options)\n : asDynamicObservableObject({}, options),\n props,\n decorators\n )\n )\n },\n ref: createDecoratorAnnotation(observableRefAnnotation),\n shallow: createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: createDecoratorAnnotation(observableStructAnnotation)\n} as any\n\n// eslint-disable-next-line\nexport var observable: IObservableFactory = assign(createObservable, observableFactories)\n","import {\n $mobx,\n IIsObservableObject,\n ObservableObjectAdministration,\n warnAboutProxyRequirement,\n assertProxies,\n die,\n isStringish,\n globalState,\n CreateObservableOptions,\n asObservableObject\n} from \"../internal\"\n\nfunction getAdm(target): ObservableObjectAdministration {\n return target[$mobx]\n}\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!\nconst objectProxyTraps: ProxyHandler<any> = {\n has(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\"\n )\n }\n return getAdm(target).has_(name)\n },\n get(target: IIsObservableObject, name: PropertyKey): any {\n return getAdm(target).get_(name)\n },\n set(target: IIsObservableObject, name: PropertyKey, value: any): boolean {\n if (!isStringish(name)) {\n return false\n }\n if (__DEV__ && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\n \"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).set_(name, value, true) ?? true\n },\n deleteProperty(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"delete properties from an observable object. Use 'remove' from 'mobx' instead.\"\n )\n }\n if (!isStringish(name)) {\n return false\n }\n // null (intercepted) -> true (success)\n return getAdm(target).delete_(name, true) ?? true\n },\n defineProperty(\n target: IIsObservableObject,\n name: PropertyKey,\n descriptor: PropertyDescriptor\n ): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).defineProperty_(name, descriptor) ?? true\n },\n ownKeys(target: IIsObservableObject): ArrayLike<string | symbol> {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\"\n )\n }\n return getAdm(target).ownKeys_()\n },\n preventExtensions(target) {\n die(13)\n }\n}\n\nexport function asDynamicObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n assertProxies()\n target = asObservableObject(target, options)\n return (target[$mobx].proxy_ ??= new Proxy(target, objectProxyTraps))\n}\n","import {\n ComputedValue,\n IComputedValueOptions,\n Annotation,\n storeAnnotation,\n createDecoratorAnnotation,\n isStringish,\n isPlainObject,\n isFunction,\n die,\n IComputedValue,\n createComputedAnnotation,\n comparer,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassGetterDecorator } from \"../types/decorator_fills\"\n\nexport const COMPUTED = \"computed\"\nexport const COMPUTED_STRUCT = \"computed.struct\"\n\nexport interface IComputedFactory extends Annotation, PropertyDecorator, ClassGetterDecorator {\n // @computed(opts)\n <T>(options: IComputedValueOptions<T>): Annotation & PropertyDecorator & ClassGetterDecorator\n // computed(fn, opts)\n <T>(func: () => T, options?: IComputedValueOptions<T>): IComputedValue<T>\n\n struct: Annotation & PropertyDecorator & ClassGetterDecorator\n}\n\nconst computedAnnotation = createComputedAnnotation(COMPUTED)\nconst computedStructAnnotation = createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n})\n\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nexport const computed: IComputedFactory = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) {\n // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2)\n }\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation)\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1))\n }\n\n // computed(expr, options?)\n if (__DEV__) {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\")\n }\n if (isFunction(arg2)) {\n die(\n \"A setter as second argument is no longer supported, use `{ set: fn }` option instead\"\n )\n }\n }\n const opts: IComputedValueOptions<any> = isPlainObject(arg2) ? arg2 : {}\n opts.get = arg1\n opts.name ||= arg1.name || \"\" /* for generated name */\n\n return new ComputedValue(opts)\n} as any\n\nObject.assign(computed, computedAnnotation)\n\ncomputed.struct = createDecoratorAnnotation(computedStructAnnotation)\n","import {\n IDerivation,\n endBatch,\n globalState,\n isSpyEnabled,\n spyReportEnd,\n spyReportStart,\n startBatch,\n untrackedEnd,\n untrackedStart,\n isFunction,\n allowStateReadsStart,\n allowStateReadsEnd,\n ACTION,\n EMPTY_ARRAY,\n die,\n getDescriptor,\n defineProperty\n} from \"../internal\"\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nlet currentActionId = 0\nlet nextActionId = 1\nconst isFunctionNameConfigurable = getDescriptor(() => {}, \"name\")?.configurable ?? false\n\n// we can safely recycle this object\nconst tmpNameDescriptor: PropertyDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n}\n\nexport function createAction(\n actionName: string,\n fn: Function,\n autoAction: boolean = false,\n ref?: Object\n): Function {\n if (__DEV__) {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\")\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(`actions should have valid names, got: '${actionName}'`)\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments)\n }\n res.isMobxAction = true\n res.toString = () => fn.toString()\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName\n defineProperty(res, \"name\", tmpNameDescriptor)\n }\n return res\n}\n\nexport function executeAction(\n actionName: string,\n canRunAsDerivation: boolean,\n fn: Function,\n scope?: any,\n args?: IArguments\n) {\n const runInfo = _startAction(actionName, canRunAsDerivation, scope, args)\n try {\n return fn.apply(scope, args)\n } catch (err) {\n runInfo.error_ = err\n throw err\n } finally {\n _endAction(runInfo)\n }\n}\n\nexport interface IActionRunInfo {\n prevDerivation_: IDerivation | null\n prevAllowStateChanges_: boolean\n prevAllowStateReads_: boolean\n notifySpy_: boolean\n startTime_: number\n error_?: any\n parentActionId_: number\n actionId_: number\n runAsAction_?: boolean\n}\n\nexport function _startAction(\n actionName: string,\n canRunAsDerivation: boolean, // true for autoAction\n scope: any,\n args?: IArguments\n): IActionRunInfo {\n const notifySpy_ = __DEV__ && isSpyEnabled() && !!actionName\n let startTime_: number = 0\n if (__DEV__ && notifySpy_) {\n startTime_ = Date.now()\n const flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n })\n }\n const prevDerivation_ = globalState.trackingDerivation\n const runAsAction = !canRunAsDerivation || !prevDerivation_\n startBatch()\n let prevAllowStateChanges_ = globalState.allowStateChanges // by default preserve previous allow\n if (runAsAction) {\n untrackedStart()\n prevAllowStateChanges_ = allowStateChangesStart(true)\n }\n const prevAllowStateReads_ = allowStateReadsStart(true)\n const runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_,\n prevAllowStateChanges_,\n prevAllowStateReads_,\n notifySpy_,\n startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n }\n currentActionId = runInfo.actionId_\n return runInfo\n}\n\nexport function _endAction(runInfo: IActionRunInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30)\n }\n currentActionId = runInfo.parentActionId_\n\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_)\n allowStateReadsEnd(runInfo.prevAllowStateReads_)\n endBatch()\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_)\n }\n if (__DEV__ && runInfo.notifySpy_) {\n spyReportEnd({ time: Date.now() - runInfo.startTime_ })\n }\n globalState.suppressReactionErrors = false\n}\n\nexport function allowStateChanges<T>(allowStateChanges: boolean, func: () => T): T {\n const prev = allowStateChangesStart(allowStateChanges)\n try {\n return func()\n } finally {\n allowStateChangesEnd(prev)\n }\n}\n\nexport function allowStateChangesStart(allowStateChanges: boolean) {\n const prev = globalState.allowStateChanges\n globalState.allowStateChanges = allowStateChanges\n return prev\n}\n\nexport function allowStateChangesEnd(prev: boolean) {\n globalState.allowStateChanges = prev\n}\n","import {\n Atom,\n IEnhancer,\n IInterceptable,\n IEqualsComparer,\n IInterceptor,\n IListenable,\n Lambda,\n checkIfStateModificationsAreAllowed,\n comparer,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReport,\n spyReportEnd,\n spyReportStart,\n toPrimitive,\n globalState,\n IUNCHANGED,\n UPDATE\n} from \"../internal\"\n\nexport interface IValueWillChange<T> {\n object: IObservableValue<T>\n type: \"update\"\n newValue: T\n}\n\nexport type IValueDidChange<T = any> = {\n type: \"update\"\n observableKind: \"value\"\n object: IObservableValue<T>\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\nexport type IBoxDidChange<T = any> =\n | {\n type: \"create\"\n observableKind: \"value\"\n object: IObservableValue<T>\n debugObjectName: string\n newValue: T\n }\n | IValueDidChange<T>\n\nexport interface IObservableValue<T> {\n get(): T\n set(value: T): void\n}\n\nconst CREATE = \"create\"\n\nexport class ObservableValue<T>\n extends Atom\n implements IObservableValue<T>, IInterceptable<IValueWillChange<T>>, IListenable\n{\n hasUnreportedChange_ = false\n interceptors_\n changeListeners_\n value_\n dehancer: any\n\n constructor(\n value: T,\n public enhancer: IEnhancer<T>,\n public name_ = __DEV__ ? \"ObservableValue@\" + getNextId() : \"ObservableValue\",\n notifySpy = true,\n private equals: IEqualsComparer<any> = comparer.default\n ) {\n super(name_)\n this.value_ = enhancer(value, undefined, name_)\n if (__DEV__ && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: \"\" + this.value_\n })\n }\n }\n\n private dehanceValue(value: T): T {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n public set(newValue: T) {\n const oldValue = this.value_\n newValue = this.prepareNewValue_(newValue) as any\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n if (__DEV__ && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue,\n oldValue\n })\n }\n this.setNewValue_(newValue)\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private prepareNewValue_(newValue): T | IUNCHANGED {\n checkIfStateModificationsAreAllowed(this)\n if (hasInterceptors(this)) {\n const change = interceptChange<IValueWillChange<T>>(this, {\n object: this,\n type: UPDATE,\n newValue\n })\n if (!change) {\n return globalState.UNCHANGED\n }\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\n setNewValue_(newValue: T) {\n const 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,\n oldValue\n })\n }\n }\n\n public get(): T {\n this.reportObserved()\n return this.dehanceValue(this.value_)\n }\n\n intercept_(handler: IInterceptor<IValueWillChange<T>>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n observe_(listener: (change: IValueDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n })\n }\n return registerListener(this, listener)\n }\n\n raw() {\n // used by MST ot get undehanced value\n return this.value_\n }\n\n toJSON() {\n return this.get()\n }\n\n toString() {\n return `${this.name_}[${this.value_}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue) as (\n x: any\n) => x is IObservableValue<any>\n","import {\n CaughtException,\n IDerivation,\n IDerivationState_,\n IEqualsComparer,\n IObservable,\n Lambda,\n TraceMode,\n autorun,\n clearObserving,\n comparer,\n createAction,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n propagateChangeConfirmed,\n propagateMaybeChanged,\n reportObserved,\n shouldCompute,\n spyReport,\n startBatch,\n toPrimitive,\n trackDerivedFunction,\n untrackedEnd,\n untrackedStart,\n UPDATE,\n die,\n allowStateChangesStart,\n allowStateChangesEnd\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\nexport interface IComputedValue<T> {\n get(): T\n set(value: T): void\n}\n\nexport interface IComputedValueOptions<T> {\n get?: () => T\n set?: (value: T) => void\n name?: string\n equals?: IEqualsComparer<T>\n context?: any\n requiresReaction?: boolean\n keepAlive?: boolean\n}\n\nexport type IComputedDidChange<T = any> = {\n type: \"update\"\n observableKind: \"computed\"\n object: unknown\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\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 */\nexport class ComputedValue<T> implements IObservable, IComputedValue<T>, IDerivation {\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_ = null // during tracking it's an array with new observed observers\n observers_ = new Set<IDerivation>()\n runId_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n unboundDepsCount_ = 0\n protected value_: T | undefined | CaughtException = new CaughtException(null)\n name_: string\n triggeredBy_?: string\n\n private static readonly isComputingMask_ = 0b00001\n private static readonly isRunningSetterMask_ = 0b00010\n private static readonly isBeingObservedMask_ = 0b00100\n private static readonly isPendingUnobservationMask_ = 0b01000\n private static readonly diffValueMask_ = 0b10000\n private flags_ = 0b00000\n\n derivation: () => T // N.B: unminified as it is used by MST\n setter_?: (value: T) => void\n isTracing_: TraceMode = TraceMode.NONE\n scope_: Object | undefined\n private equals_: IEqualsComparer<any>\n private requiresReaction_: boolean | undefined\n keepAlive_: boolean\n\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 `structuralComparer` 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 constructor(options: IComputedValueOptions<T>) {\n if (!options.get) {\n die(31)\n }\n this.derivation = options.get!\n this.name_ = options.name || (__DEV__ ? \"ComputedValue@\" + getNextId() : \"ComputedValue\")\n if (options.set) {\n this.setter_ = createAction(\n __DEV__ ? this.name_ + \"-setter\" : \"ComputedValue-setter\",\n options.set\n ) as any\n }\n this.equals_ =\n options.equals ||\n ((options as any).compareStructural || (options as any).struct\n ? comparer.structural\n : comparer.default)\n this.scope_ = options.context\n this.requiresReaction_ = options.requiresReaction\n this.keepAlive_ = !!options.keepAlive\n }\n\n onBecomeStale_() {\n propagateMaybeChanged(this)\n }\n\n public onBOL: Set<Lambda> | undefined\n public onBUOL: Set<Lambda> | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n // to check for cycles\n private get isComputing(): boolean {\n return getFlag(this.flags_, ComputedValue.isComputingMask_)\n }\n private set isComputing(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isComputingMask_, newValue)\n }\n\n private get isRunningSetter(): boolean {\n return getFlag(this.flags_, ComputedValue.isRunningSetterMask_)\n }\n private set isRunningSetter(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isRunningSetterMask_, newValue)\n }\n\n get isBeingObserved(): boolean {\n return getFlag(this.flags_, ComputedValue.isBeingObservedMask_)\n }\n set isBeingObserved(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isBeingObservedMask_, newValue)\n }\n\n get isPendingUnobservation(): boolean {\n return getFlag(this.flags_, ComputedValue.isPendingUnobservationMask_)\n }\n set isPendingUnobservation(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, ComputedValue.isPendingUnobservationMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, ComputedValue.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(\n this.flags_,\n ComputedValue.diffValueMask_,\n newValue === 1 ? true : false\n )\n }\n\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n public get(): T {\n if (this.isComputing) {\n die(32, this.name_, this.derivation)\n }\n if (\n globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 &&\n !this.keepAlive_\n ) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_()\n startBatch() // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false)\n endBatch()\n }\n } else {\n reportObserved(this)\n if (shouldCompute(this)) {\n let prevTrackingContext = globalState.trackingContext\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this)\n }\n globalState.trackingContext = prevTrackingContext\n }\n }\n const result = this.value_!\n\n if (isCaughtException(result)) {\n throw result.cause\n }\n return result\n }\n\n public set(value: T) {\n if (this.setter_) {\n if (this.isRunningSetter) {\n die(33, this.name_)\n }\n this.isRunningSetter = true\n try {\n this.setter_.call(this.scope_, value)\n } finally {\n this.isRunningSetter = false\n }\n } else {\n die(34, this.name_)\n }\n }\n\n trackAndCompute(): boolean {\n // N.B: unminified as it is used by MST\n const oldValue = this.value_\n const wasSuspended =\n /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_\n const newValue = this.computeValue_(true)\n\n const changed =\n wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals_(oldValue, newValue)\n\n if (changed) {\n this.value_ = newValue\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue,\n newValue\n } as IComputedDidChange)\n }\n }\n\n return changed\n }\n\n computeValue_(track: boolean) {\n this.isComputing = true\n // don't allow state changes during computation\n const prev = allowStateChangesStart(false)\n let res: T | CaughtException\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_)\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_)\n } else {\n try {\n res = this.derivation.call(this.scope_)\n } catch (e) {\n res = new CaughtException(e)\n }\n }\n }\n allowStateChangesEnd(prev)\n this.isComputing = false\n return res\n }\n\n suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this)\n this.value_ = undefined // don't hold on to computed value!\n if (__DEV__ && this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' was suspended and it will recompute on the next access.`\n )\n }\n }\n }\n\n observe_(listener: (change: IComputedDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n let firstTime = true\n let prevValue: T | undefined = undefined\n return autorun(() => {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n let newValue = this.get()\n if (!firstTime || fireImmediately) {\n const prevU = untrackedStart()\n listener({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n newValue,\n oldValue: prevValue\n })\n untrackedEnd(prevU)\n }\n firstTime = false\n prevValue = newValue\n })\n }\n\n warnAboutUntrackedRead_() {\n if (!__DEV__) {\n return\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n if (\n typeof this.requiresReaction_ === \"boolean\"\n ? this.requiresReaction_\n : globalState.computedRequiresReaction\n ) {\n console.warn(\n `[mobx] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n }\n\n toString() {\n return `${this.name_}[${this.derivation.toString()}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue)\n","import {\n Lambda,\n ComputedValue,\n IDependencyTree,\n IDerivation,\n IDerivationState_,\n TraceMode,\n getDependencyTree,\n globalState,\n runReactions,\n checkIfStateReadsAreAllowed\n} from \"../internal\"\n\nexport interface IDepTreeNode {\n name_: string\n observing_?: IObservable[]\n}\n\nexport interface IObservable extends IDepTreeNode {\n diffValue: number\n /**\n * Id of the derivation *run* that last accessed this observable.\n * If this id equals the *run* id of the current derivation,\n * the dependency is already established\n */\n lastAccessedBy_: number\n isBeingObserved: boolean\n\n lowestObserverState_: IDerivationState_ // Used to avoid redundant propagations\n isPendingUnobservation: boolean // Used to push itself to global.pendingUnobservations at most once per batch.\n\n observers_: Set<IDerivation>\n\n onBUO(): void\n onBO(): void\n\n onBUOL: Set<Lambda> | undefined\n onBOL: Set<Lambda> | undefined\n}\n\nexport function hasObservers(observable: IObservable): boolean {\n return observable.observers_ && observable.observers_.size > 0\n}\n\nexport function getObservers(observable: IObservable): Set<IDerivation> {\n return observable.observers_\n}\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// }\nexport function addObserver(observable: IObservable, node: IDerivation) {\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\n observable.observers_.add(node)\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_\n }\n\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nexport function removeObserver(observable: IObservable, node: IDerivation) {\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}\n\nexport function queueForUnobservation(observable: IObservable) {\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/**\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 */\nexport function startBatch() {\n globalState.inBatch++\n}\n\nexport function endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions()\n // the batch is actually about to finish, all unobserving should happen here.\n const list = globalState.pendingUnobservations\n for (let i = 0; i < list.length; i++) {\n const 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.onBUO()\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 observabe of another, etc..\n observable.suspend_()\n }\n }\n }\n globalState.pendingUnobservations = []\n }\n}\n\nexport function reportObserved(observable: IObservable): boolean {\n checkIfStateReadsAreAllowed(observable)\n\n const 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 && globalState.trackingContext) {\n observable.isBeingObserved = true\n observable.onBO()\n }\n }\n return observable.isBeingObserved\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable)\n }\n\n return false\n}\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/**\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\n// Called by Atom when its value changes\nexport function propagateChanged(observable: IObservable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (__DEV__ && 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\n// Called by ComputedValue when it recalculate and its value changed\nexport function propagateChangeConfirmed(observable: IObservable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n } else if (\n 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 })\n // invariantLOS(observable, \"confirmed end\");\n}\n\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nexport function propagateMaybeChanged(observable: IObservable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_\n d.onBecomeStale_()\n }\n })\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation: IDerivation, observable: IObservable) {\n console.log(\n `[mobx.trace] '${derivation.name_}' is invalidated due to a change in: '${observable.name_}'`\n )\n if (derivation.isTracing_ === TraceMode.BREAK) {\n const lines = []\n printDepTree(getDependencyTree(derivation), lines, 1)\n\n // prettier-ignore\n new Function(\n`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}\n\nfunction printDepTree(tree: IDependencyTree, lines: string[], depth: number) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\")\n return\n }\n lines.push(`${\"\\t\".repeat(depth - 1)}${tree.name}`)\n if (tree.dependencies) {\n tree.dependencies.forEach(child => printDepTree(child, lines, depth + 1))\n }\n}\n","import {\n IAtom,\n IDepTreeNode,\n IObservable,\n addObserver,\n globalState,\n isComputedValue,\n removeObserver\n} from \"../internal\"\n\nexport enum 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 NOT_TRACKING_ = -1,\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n UP_TO_DATE_ = 0,\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 POSSIBLY_STALE_ = 1,\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n STALE_ = 2\n}\n\nexport enum TraceMode {\n NONE,\n LOG,\n BREAK\n}\n\n/**\n * A derivation is everything that can be derived from the state (all the atoms) in a pure manner.\n * See https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n */\nexport interface IDerivation extends IDepTreeNode {\n observing_: IObservable[]\n newObserving_: null | IObservable[]\n dependenciesState_: IDerivationState_\n /**\n * Id of the current run of a derivation. Each time the derivation is tracked\n * this number is increased by one. This number is globally unique\n */\n runId_: number\n /**\n * amount of dependencies used by the derivation in this run, which has not been bound yet.\n */\n unboundDepsCount_: number\n onBecomeStale_(): void\n isTracing_: TraceMode\n\n /**\n * warn if the derivation has no dependencies after creation/update\n */\n requiresObservable_?: boolean\n}\n\nexport class CaughtException {\n constructor(public cause: any) {\n // Empty\n }\n}\n\nexport function isCaughtException(e: any): e is CaughtException {\n return e instanceof CaughtException\n}\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 */\nexport function shouldCompute(derivation: IDerivation): boolean {\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 const prevAllowStateReads = allowStateReadsStart(true)\n const prevUntracked = untrackedStart() // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n const obs = derivation.observing_,\n l = obs.length\n for (let i = 0; i < l; i++) {\n const obj = obs[i]\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get()\n } else {\n try {\n obj.get()\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_ as any) === 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\nexport function isComputingDerivation() {\n return globalState.trackingDerivation !== null // filter out actions inside computations\n}\n\nexport function checkIfStateModificationsAreAllowed(atom: IAtom) {\n if (!__DEV__) {\n return\n }\n const hasObservers = atom.observers_.size > 0\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (\n !globalState.allowStateChanges &&\n (hasObservers || globalState.enforceActions === \"always\")\n ) {\n console.warn(\n \"[MobX] \" +\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") +\n atom.name_\n )\n }\n}\n\nexport function checkIfStateReadsAreAllowed(observable: IObservable) {\n if (__DEV__ && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\n `[mobx] Observable '${observable.name_}' being read outside a reactive context.`\n )\n }\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 */\nexport function trackDerivedFunction<T>(derivation: IDerivation, f: () => T, context: any) {\n const prevAllowStateReads = allowStateReadsStart(true)\n changeDependenciesStateTo0(derivation)\n // Preallocate array; will be trimmed by bindDependencies.\n derivation.newObserving_ = new Array(\n // Reserve constant space for initial dependencies, dynamic space otherwise.\n // See https://github.com/mobxjs/mobx/pull/3833\n derivation.runId_ === 0 ? 100 : derivation.observing_.length\n )\n derivation.unboundDepsCount_ = 0\n derivation.runId_ = ++globalState.runId\n const prevTracking = globalState.trackingDerivation\n globalState.trackingDerivation = derivation\n globalState.inBatch++\n let result\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context)\n } else {\n try {\n result = f.call(context)\n } catch (e) {\n result = new CaughtException(e)\n }\n }\n globalState.inBatch--\n globalState.trackingDerivation = prevTracking\n bindDependencies(derivation)\n\n warnAboutDerivationWithoutDependencies(derivation)\n allowStateReadsEnd(prevAllowStateReads)\n return result\n}\n\nfunction warnAboutDerivationWithoutDependencies(derivation: IDerivation) {\n if (!__DEV__) {\n return\n }\n\n if (derivation.observing_.length !== 0) {\n return\n }\n\n if (\n typeof derivation.requiresObservable_ === \"boolean\"\n ? derivation.requiresObservable_\n : globalState.reactionRequiresObservable\n ) {\n console.warn(\n `[mobx] Derivation '${derivation.name_}' is created/updated without reading any observable value.`\n )\n }\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: IDerivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n const prevObserving = derivation.observing_\n const observing = (derivation.observing_ = derivation.newObserving_!)\n let lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_\n\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 let i0 = 0,\n l = derivation.unboundDepsCount_\n for (let i = 0; i < l; i++) {\n const dep = observing[i]\n if (dep.diffValue === 0) {\n dep.diffValue = 1\n if (i0 !== i) {\n observing[i0] = dep\n }\n i0++\n }\n\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if ((dep as any as IDerivation).dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = (dep as any as IDerivation).dependenciesState_\n }\n }\n observing.length = i0\n\n derivation.newObserving_ = null // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n\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 const dep = prevObserving[l]\n if (dep.diffValue === 0) {\n removeObserver(dep, derivation)\n }\n dep.diffValue = 0\n }\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 const dep = observing[i0]\n if (dep.diffValue === 1) {\n dep.diffValue = 0\n addObserver(dep, derivation)\n }\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}\n\nexport function clearObserving(derivation: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n const obs = derivation.observing_\n derivation.observing_ = []\n let i = obs.length\n while (i--) {\n removeObserver(obs[i], derivation)\n }\n\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_\n}\n\nexport function untracked<T>(action: () => T): T {\n const prev = untrackedStart()\n try {\n return action()\n } finally {\n untrackedEnd(prev)\n }\n}\n\nexport function untrackedStart(): IDerivation | null {\n const prev = globalState.trackingDerivation\n globalState.trackingDerivation = null\n return prev\n}\n\nexport function untrackedEnd(prev: IDerivation | null) {\n globalState.trackingDerivation = prev\n}\n\nexport function allowStateReadsStart(allowStateReads: boolean) {\n const prev = globalState.allowStateReads\n globalState.allowStateReads = allowStateReads\n return prev\n}\n\nexport function allowStateReadsEnd(prev: boolean) {\n globalState.allowStateReads = prev\n}\n\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nexport function changeDependenciesStateTo0(derivation: IDerivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_\n\n const obs = derivation.observing_\n let i = obs.length\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n }\n}\n","import { IDerivation, IObservable, Reaction, die, getGlobal } from \"../internal\"\nimport { ComputedValue } from \"./computedvalue\"\n\n/**\n * These values will persist if global state is reset\n */\nconst persistentKeys: (keyof MobXGlobals)[] = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n]\n\nexport type IUNCHANGED = {}\n\nexport class 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 version = 6\n\n /**\n * globally unique token to signal unchanged\n */\n UNCHANGED: IUNCHANGED = {}\n\n /**\n * Currently running derivation\n */\n trackingDerivation: IDerivation | null = null\n\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */\n trackingContext: Reaction | ComputedValue<any> | null = null\n\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n runId = 0\n\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n mobxGuid = 0\n\n /**\n * Are we in a batch block? (and how many of them)\n */\n inBatch: number = 0\n\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 pendingUnobservations: IObservable[] = []\n\n /**\n * List of scheduled, not yet executed, reactions.\n */\n pendingReactions: Reaction[] = []\n\n /**\n * Are we currently processing reactions?\n */\n isRunningReactions = false\n\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 allowStateChanges = false\n\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n allowStateReads = true\n\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n enforceActions: boolean | \"always\" = true\n\n /**\n * Spy callbacks\n */\n spyListeners: { (change: any): void }[] = []\n\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n globalReactionErrorHandlers: ((error: any, derivation: IDerivation) => void)[] = []\n\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n computedRequiresReaction = false\n\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable = false\n\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction = false\n\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 disableErrorBoundaries = false\n\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 suppressReactionErrors = false\n\n useProxies = true\n /*\n * print warnings about code that would fail if proxies weren't available\n */\n verifyProxies = false\n\n /**\n * False forces all object's descriptors to\n * writable: true\n * configurable: true\n */\n safeDescriptors = true\n}\n\nlet canMergeGlobalState = true\nlet isolateCalled = false\n\nexport let globalState: MobXGlobals = (function () {\n let global = getGlobal()\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false\n }\n\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(() => {\n if (!isolateCalled) {\n die(35)\n }\n }, 1)\n return new MobXGlobals()\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {}\n } // make merge backward compatible\n return global.__mobxGlobals\n } else {\n global.__mobxInstanceCount = 1\n return (global.__mobxGlobals = new MobXGlobals())\n }\n})()\n\nexport function isolateGlobalState() {\n if (\n globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions\n ) {\n die(36)\n }\n isolateCalled = true\n if (canMergeGlobalState) {\n let global = getGlobal()\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined\n }\n globalState = new MobXGlobals()\n }\n}\n\nexport function getGlobalState(): any {\n return globalState\n}\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 */\nexport function resetGlobalState() {\n const defaultGlobals = new MobXGlobals()\n for (let key in defaultGlobals) {\n if (persistentKeys.indexOf(key as any) === -1) {\n globalState[key] = defaultGlobals[key]\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions\n}\n","import {\n $mobx,\n IDerivation,\n IDerivationState_,\n IObservable,\n Lambda,\n TraceMode,\n clearObserving,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n shouldCompute,\n spyReport,\n spyReportEnd,\n spyReportStart,\n startBatch,\n trace,\n trackDerivedFunction,\n GenericAbortSignal\n} from \"../internal\"\n\nimport { getFlag, setFlag } from \"../utils/utils\"\n\n/**\n * Reactions are a special kind of derivations. Several things distinguishes them from normal reactive computations\n *\n * 1) They will always run, whether they are used by other computations or not.\n * This means that they are very suitable for triggering side effects like logging, updating the DOM and making network requests.\n * 2) They are not observable themselves\n * 3) They will always run after any 'normal' derivations\n * 4) They are allowed to change the state and thereby triggering themselves again, as long as they make sure the state propagates to a stable state in a reasonable amount of iterations.\n *\n * The state machine of a Reaction is as follows:\n *\n * 1) after creating, the reaction should be started by calling `runReaction` or by scheduling it (see also `autorun`)\n * 2) the `onInvalidate` handler should somehow result in a call to `this.track(someFunction)`\n * 3) all observables accessed in `someFunction` will be observed by this reaction.\n * 4) as soon as some of the dependencies has changed the Reaction will be rescheduled for another run (after the current mutation or transaction). `isScheduled` will yield true once a dependency is stale and during this period\n * 5) `onInvalidate` will be called, and we are back at step 1.\n *\n */\n\nexport interface IReactionPublic {\n dispose(): void\n trace(enterBreakPoint?: boolean): void\n}\n\nexport interface IReactionDisposer {\n (): void\n [$mobx]: Reaction\n}\n\nexport class Reaction implements IDerivation, IReactionPublic {\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_: IObservable[] = []\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n runId_ = 0\n unboundDepsCount_ = 0\n\n private static readonly isDisposedMask_ = 0b00001\n private static readonly isScheduledMask_ = 0b00010\n private static readonly isTrackPendingMask_ = 0b00100\n private static readonly isRunningMask_ = 0b01000\n private static readonly diffValueMask_ = 0b10000\n private flags_ = 0b00000\n\n isTracing_: TraceMode = TraceMode.NONE\n\n constructor(\n public name_: string = __DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\",\n private onInvalidate_: () => void,\n private errorHandler_?: (error: any, derivation: IDerivation) => void,\n public requiresObservable_?\n ) {}\n\n get isDisposed() {\n return getFlag(this.flags_, Reaction.isDisposedMask_)\n }\n set isDisposed(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isDisposedMask_, newValue)\n }\n\n get isScheduled() {\n return getFlag(this.flags_, Reaction.isScheduledMask_)\n }\n set isScheduled(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isScheduledMask_, newValue)\n }\n\n get isTrackPending() {\n return getFlag(this.flags_, Reaction.isTrackPendingMask_)\n }\n set isTrackPending(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isTrackPendingMask_, newValue)\n }\n\n get isRunning() {\n return getFlag(this.flags_, Reaction.isRunningMask_)\n }\n set isRunning(newValue: boolean) {\n this.flags_ = setFlag(this.flags_, Reaction.isRunningMask_, newValue)\n }\n\n get diffValue(): 0 | 1 {\n return getFlag(this.flags_, Reaction.diffValueMask_) ? 1 : 0\n }\n set diffValue(newValue: 0 | 1) {\n this.flags_ = setFlag(this.flags_, Reaction.diffValueMask_, newValue === 1 ? true : false)\n }\n\n onBecomeStale_() {\n this.schedule_()\n }\n\n schedule_() {\n if (!this.isScheduled) {\n this.isScheduled = true\n globalState.pendingReactions.push(this)\n runReactions()\n }\n }\n\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n runReaction_() {\n if (!this.isDisposed) {\n startBatch()\n this.isScheduled = false\n const prev = globalState.trackingContext\n globalState.trackingContext = this\n if (shouldCompute(this)) {\n this.isTrackPending = true\n\n try {\n this.onInvalidate_()\n if (__DEV__ && this.isTrackPending && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n })\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e)\n }\n }\n globalState.trackingContext = prev\n endBatch()\n }\n }\n\n track(fn: () => void) {\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 const notify = isSpyEnabled()\n let startTime\n if (__DEV__ && notify) {\n startTime = Date.now()\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n })\n }\n this.isRunning = true\n const prevReaction = globalState.trackingContext // reactions could create reactions...\n globalState.trackingContext = this\n const result = trackDerivedFunction(this, fn, undefined)\n globalState.trackingContext = prevReaction\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 }\n if (__DEV__ && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n })\n }\n endBatch()\n }\n\n reportExceptionInDerivation_(error: any) {\n if (this.errorHandler_) {\n this.errorHandler_(error, this)\n return\n }\n\n if (globalState.disableErrorBoundaries) {\n throw error\n }\n\n const message = __DEV__\n ? `[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '${this}'`\n : `[mobx] uncaught error in '${this}'`\n if (!globalState.suppressReactionErrors) {\n console.error(message, error)\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (__DEV__) { console.warn(`[mobx] (error in reaction '${this.name_}' suppressed, fix error of causing action below)`) } // prettier-ignore\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message,\n error: \"\" + error\n })\n }\n\n globalState.globalReactionErrorHandlers.forEach(f => f(error, this))\n }\n\n dispose() {\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\n getDisposer_(abortSignal?: GenericAbortSignal): IReactionDisposer {\n const dispose = (() => {\n this.dispose()\n abortSignal?.removeEventListener?.(\"abort\", dispose)\n }) as IReactionDisposer\n abortSignal?.addEventListener?.(\"abort\", dispose)\n dispose[$mobx] = this\n\n return dispose\n }\n\n toString() {\n return `Reaction[${this.name_}]`\n }\n\n trace(enterBreakPoint: boolean = false) {\n trace(this, enterBreakPoint)\n }\n}\n\nexport function onReactionError(handler: (error: any, derivation: IDerivation) => void): Lambda {\n globalState.globalReactionErrorHandlers.push(handler)\n return () => {\n const idx = globalState.globalReactionErrorHandlers.indexOf(handler)\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1)\n }\n }\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 */\nconst MAX_REACTION_ITERATIONS = 100\n\nlet reactionScheduler: (fn: () => void) => void = f => f()\n\nexport function runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return\n }\n reactionScheduler(runReactionsHelper)\n}\n\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true\n const allReactions = globalState.pendingReactions\n let iterations = 0\n\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(\n __DEV__\n ? `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 : `[mobx] cycle in reaction: ${allReactions[0]}`\n )\n allReactions.splice(0) // clear reactions\n }\n let remainingReactions = allReactions.splice(0)\n for (let i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_()\n }\n }\n globalState.isRunningReactions = false\n}\n\nexport const isReaction = createInstanceofPredicate(\"Reaction\", Reaction)\n\nexport function setReactionScheduler(fn: (f: () => void) => void) {\n const baseScheduler = reactionScheduler\n reactionScheduler = f => fn(() => baseScheduler(f))\n}\n","import { IComputedDidChange } from \"./computedvalue\"\nimport { IValueDidChange, IBoxDidChange } from \"./../types/observablevalue\"\nimport { IObjectDidChange } from \"./../types/observableobject\"\nimport { IArrayDidChange } from \"./../types/observablearray\"\nimport { Lambda, globalState, once, ISetDidChange, IMapDidChange } from \"../internal\"\n\nexport function isSpyEnabled() {\n return __DEV__ && !!globalState.spyListeners.length\n}\n\nexport type PureSpyEvent =\n | { type: \"action\"; name: string; object: unknown; arguments: unknown[] }\n | { type: \"scheduled-reaction\"; name: string }\n | { type: \"reaction\"; name: string }\n | { type: \"error\"; name: string; message: string; error: string }\n | IComputedDidChange<unknown>\n | IObjectDidChange<unknown>\n | IArrayDidChange<unknown>\n | IMapDidChange<unknown, unknown>\n | ISetDidChange<unknown>\n | IValueDidChange<unknown>\n | IBoxDidChange<unknown>\n | { type: \"report-end\"; spyReportEnd: true; time?: number }\n\ntype SpyEvent = PureSpyEvent & { spyReportStart?: true }\n\nexport function spyReport(event: SpyEvent) {\n if (!__DEV__) {\n return\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return\n }\n const listeners = globalState.spyListeners\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event)\n }\n}\n\nexport function spyReportStart(event: PureSpyEvent) {\n if (!__DEV__) {\n return\n }\n const change = { ...event, spyReportStart: true as const }\n spyReport(change)\n}\n\nconst END_EVENT: SpyEvent = { type: \"report-end\", spyReportEnd: true }\n\nexport function spyReportEnd(change?: { time?: number }) {\n if (!__DEV__) {\n return\n }\n if (change) {\n spyReport({ ...change, type: \"report-end\", spyReportEnd: true })\n } else {\n spyReport(END_EVENT)\n }\n}\n\nexport function spy(listener: (change: SpyEvent) => void): Lambda {\n if (!__DEV__) {\n console.warn(`[mobx.spy] Is a no-op in production builds`)\n return function () {}\n } else {\n globalState.spyListeners.push(listener)\n return once(() => {\n globalState.spyListeners = globalState.spyListeners.filter(l => l !== listener)\n })\n }\n}\n","import {\n createAction,\n executeAction,\n Annotation,\n storeAnnotation,\n die,\n isFunction,\n isStringish,\n createDecoratorAnnotation,\n createActionAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassFieldDecorator, ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const ACTION = \"action\"\nexport const ACTION_BOUND = \"action.bound\"\nexport const AUTOACTION = \"autoAction\"\nexport const AUTOACTION_BOUND = \"autoAction.bound\"\n\nconst DEFAULT_ACTION_NAME = \"<unnamed action>\"\n\nconst actionAnnotation = createActionAnnotation(ACTION)\nconst actionBoundAnnotation = createActionAnnotation(ACTION_BOUND, {\n bound: true\n})\nconst autoActionAnnotation = createActionAnnotation(AUTOACTION, {\n autoAction: true\n})\nconst autoActionBoundAnnotation = createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n})\n\nexport interface IActionFactory\n extends Annotation,\n PropertyDecorator,\n ClassMethodDecorator,\n ClassFieldDecorator {\n // nameless actions\n <T extends Function | undefined | null>(fn: T): T\n // named actions\n <T extends Function | undefined | null>(name: string, fn: T): T\n\n // named decorator\n (customName: string): PropertyDecorator &\n Annotation &\n ClassMethodDecorator &\n ClassFieldDecorator\n\n // decorator (name no longer supported)\n bound: Annotation & PropertyDecorator & ClassMethodDecorator & ClassFieldDecorator\n}\n\nfunction createActionFactory(autoAction: boolean): IActionFactory {\n const res: IActionFactory = function action(arg1, arg2?): any {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction)\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction)\n }\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(\n arg1,\n arg2\n )\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation)\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(\n createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction\n })\n )\n }\n\n if (__DEV__) {\n die(\"Invalid arguments for `action`\")\n }\n } as IActionFactory\n return res\n}\n\nexport const action: IActionFactory = createActionFactory(false)\nObject.assign(action, actionAnnotation)\nexport const autoAction: IActionFactory = createActionFactory(true)\nObject.assign(autoAction, autoActionAnnotation)\n\naction.bound = createDecoratorAnnotation(actionBoundAnnotation)\nautoAction.bound = createDecoratorAnnotation(autoActionBoundAnnotation)\n\nexport function runInAction<T>(fn: () => T): T {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined)\n}\n\nexport function isAction(thing: any) {\n return isFunction(thing) && thing.isMobxAction === true\n}\n","import {\n EMPTY_OBJECT,\n IEqualsComparer,\n IReactionDisposer,\n IReactionPublic,\n Lambda,\n Reaction,\n action,\n comparer,\n getNextId,\n isAction,\n isFunction,\n isPlainObject,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IAutorunOptions {\n delay?: number\n name?: string\n /**\n * Experimental.\n * Warns if the view doesn't track observables\n */\n requiresObservable?: boolean\n scheduler?: (callback: () => void) => any\n onError?: (error: any) => void\n signal?: GenericAbortSignal\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 */\nexport function autorun(\n view: (r: IReactionPublic) => any,\n opts: IAutorunOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\")\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\")\n }\n }\n\n const name: string =\n opts?.name ?? (__DEV__ ? (view as any).name || \"Autorun@\" + getNextId() : \"Autorun\")\n const runSync = !opts.scheduler && !opts.delay\n let reaction: Reaction\n\n if (runSync) {\n // normal autorun\n reaction = new Reaction(\n name,\n function (this: Reaction) {\n this.track(reactionRunner)\n },\n opts.onError,\n opts.requiresObservable\n )\n } else {\n const scheduler = createSchedulerFromOptions(opts)\n // debounced autorun\n let isScheduled = false\n\n reaction = new Reaction(\n name,\n () => {\n if (!isScheduled) {\n isScheduled = true\n scheduler(() => {\n isScheduled = false\n if (!reaction.isDisposed) {\n reaction.track(reactionRunner)\n }\n })\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n }\n\n function reactionRunner() {\n view(reaction)\n }\n\n if (!opts?.signal?.aborted) {\n reaction.schedule_()\n }\n return reaction.getDisposer_(opts?.signal)\n}\n\nexport type IReactionOptions<T, FireImmediately extends boolean> = IAutorunOptions & {\n fireImmediately?: FireImmediately\n equals?: IEqualsComparer<T>\n}\n\nconst run = (f: Lambda) => f()\n\nfunction createSchedulerFromOptions(opts: IAutorunOptions) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? (f: Lambda) => setTimeout(f, opts.delay!)\n : run\n}\n\nexport function reaction<T, FireImmediately extends boolean = false>(\n expression: (r: IReactionPublic) => T,\n effect: (\n arg: T,\n prev: FireImmediately extends true ? T | undefined : T,\n r: IReactionPublic\n ) => void,\n opts: IReactionOptions<T, FireImmediately> = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\")\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\")\n }\n }\n const name = opts.name ?? (__DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\")\n const effectAction = action(\n name,\n opts.onError ? wrapErrorHandler(opts.onError, effect) : effect\n )\n const runSync = !opts.scheduler && !opts.delay\n const scheduler = createSchedulerFromOptions(opts)\n\n let firstTime = true\n let isScheduled = false\n let value: T\n\n const equals: IEqualsComparer<T> = (opts as any).compareStructural\n ? comparer.structural\n : opts.equals || comparer.default\n\n const r = new Reaction(\n name,\n () => {\n if (firstTime || runSync) {\n reactionRunner()\n } else if (!isScheduled) {\n isScheduled = true\n scheduler!(reactionRunner)\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n\n function reactionRunner() {\n isScheduled = false\n if (r.isDisposed) {\n return\n }\n let changed: boolean = false\n const oldValue = value\n r.track(() => {\n const nextValue = allowStateChanges(false, () => expression(r))\n changed = firstTime || !equals(value, nextValue)\n value = nextValue\n })\n\n // This casting is nesessary as TS cannot infer proper type in current function implementation\n type OldValue = FireImmediately extends true ? T | undefined : T\n if (firstTime && opts.fireImmediately!) {\n effectAction(value, oldValue as OldValue, r)\n } else if (!firstTime && changed) {\n effectAction(value, oldValue as OldValue, r)\n }\n firstTime = false\n }\n\n if (!opts?.signal?.aborted) {\n r.schedule_()\n }\n return r.getDisposer_(opts?.signal)\n}\n\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments)\n } catch (e) {\n errorHandler.call(this, e)\n }\n }\n}\n","import {\n IComputedValue,\n IObservable,\n IObservableArray,\n Lambda,\n ObservableMap,\n getAtom,\n ObservableSet,\n isFunction,\n IObservableValue\n} from \"../internal\"\n\nconst ON_BECOME_OBSERVED = \"onBO\"\nconst ON_BECOME_UNOBSERVED = \"onBUO\"\n\nexport function onBecomeObserved(\n value:\n | IObservable\n | IComputedValue<any>\n | IObservableArray<any>\n | ObservableMap<any, any>\n | ObservableSet<any>\n | IObservableValue<any>,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved<K, V = any>(\n value: ObservableMap<K, V> | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3)\n}\n\nexport function onBecomeUnobserved(\n value:\n | IObservable\n | IComputedValue<any>\n | IObservableArray<any>\n | ObservableMap<any, any>\n | ObservableSet<any>\n | IObservableValue<any>,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved<K, V = any>(\n value: ObservableMap<K, V> | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3)\n}\n\nfunction interceptHook(hook: \"onBO\" | \"onBUO\", thing, arg2, arg3) {\n const atom: IObservable =\n typeof arg3 === \"function\" ? getAtom(thing, arg2) : (getAtom(thing) as any)\n const cb = isFunction(arg3) ? arg3 : arg2\n const listenersKey = `${hook}L` as \"onBOL\" | \"onBUOL\"\n\n if (atom[listenersKey]) {\n atom[listenersKey]!.add(cb)\n } else {\n atom[listenersKey] = new Set<Lambda>([cb])\n }\n\n return function () {\n const hookListeners = atom[listenersKey]\n if (hookListeners) {\n hookListeners.delete(cb)\n if (hookListeners.size === 0) {\n delete atom[listenersKey]\n }\n }\n }\n}\n","import { globalState, isolateGlobalState, setReactionScheduler } from \"../internal\"\n\nconst NEVER = \"never\"\nconst ALWAYS = \"always\"\nconst OBSERVED = \"observed\"\n// const IF_AVAILABLE = \"ifavailable\"\n\nexport function configure(options: {\n enforceActions?: \"never\" | \"always\" | \"observed\"\n computedRequiresReaction?: boolean\n /**\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable?: boolean\n /**\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction?: boolean\n isolateGlobalState?: boolean\n disableErrorBoundaries?: boolean\n safeDescriptors?: boolean\n reactionScheduler?: (f: () => void) => void\n useProxies?: \"always\" | \"never\" | \"ifavailable\"\n}): void {\n if (options.isolateGlobalState === true) {\n isolateGlobalState()\n }\n const { useProxies, enforceActions } = options\n if (useProxies !== undefined) {\n globalState.useProxies =\n useProxies === ALWAYS\n ? true\n : useProxies === NEVER\n ? false\n : typeof Proxy !== \"undefined\"\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true\n }\n if (enforceActions !== undefined) {\n const ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED\n globalState.enforceActions = ea\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true\n }\n ;[\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\",\n \"safeDescriptors\"\n ].forEach(key => {\n if (key in options) {\n globalState[key] = !!options[key]\n }\n })\n globalState.allowStateReads = !globalState.observableRequiresReaction\n if (__DEV__ && globalState.disableErrorBoundaries === true) {\n console.warn(\n \"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\"\n )\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler)\n }\n}\n","import {\n CreateObservableOptions,\n isObservableMap,\n AnnotationsMap,\n asObservableObject,\n isPlainObject,\n ObservableObjectAdministration,\n isObservable,\n die,\n getOwnPropertyDescriptors,\n $mobx,\n ownKeys,\n initObservable\n} from \"../internal\"\n\nexport function extendObservable<A extends Object, B extends Object>(\n target: A,\n properties: B,\n annotations?: AnnotationsMap<B, never>,\n options?: CreateObservableOptions\n): A & B {\n if (__DEV__) {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\")\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\")\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\")\n }\n if (!isPlainObject(properties)) {\n die(`'extendObservable' only accepts plain objects as second argument`)\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(`Extending an object with another observable (object) is not supported`)\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n const descriptors = getOwnPropertyDescriptors(properties)\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n ownKeys(descriptors).forEach(key => {\n adm.extend_(\n key,\n descriptors[key as any],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true\n )\n })\n })\n\n return target as any\n}\n","import { IDepTreeNode, getAtom, getObservers, hasObservers } from \"../internal\"\n\nexport interface IDependencyTree {\n name: string\n dependencies?: IDependencyTree[]\n}\n\nexport interface IObserverTree {\n name: string\n observers?: IObserverTree[]\n}\n\nexport function getDependencyTree(thing: any, property?: string): IDependencyTree {\n return nodeToDependencyTree(getAtom(thing, property))\n}\n\nfunction nodeToDependencyTree(node: IDepTreeNode): IDependencyTree {\n const result: IDependencyTree = {\n name: node.name_\n }\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree)\n }\n return result\n}\n\nexport function getObserverTree(thing: any, property?: string): IObserverTree {\n return nodeToObserverTree(getAtom(thing, property))\n}\n\nfunction nodeToObserverTree(node: IDepTreeNode): IObserverTree {\n const result: IObserverTree = {\n name: node.name_\n }\n if (hasObservers(node as any)) {\n result.observers = Array.from(<any>getObservers(node as any)).map(<any>nodeToObserverTree)\n }\n return result\n}\n\nfunction unique<T>(list: T[]): T[] {\n return Array.from(new Set(list))\n}\n","import {\n action,\n noop,\n die,\n isFunction,\n Annotation,\n isStringish,\n storeAnnotation,\n createFlowAnnotation,\n createDecoratorAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const FLOW = \"flow\"\n\nlet generatorId = 0\n\nexport function FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\"\n}\nFlowCancellationError.prototype = Object.create(Error.prototype)\n\nexport function isFlowCancellationError(error: Error) {\n return error instanceof FlowCancellationError\n}\n\nexport type CancellablePromise<T> = Promise<T> & { cancel(): void }\n\ninterface Flow extends Annotation, PropertyDecorator, ClassMethodDecorator {\n <R, Args extends any[]>(\n generator: (...args: Args) => Generator<any, R, any> | AsyncGenerator<any, R, any>\n ): (...args: Args) => CancellablePromise<R>\n bound: Annotation & PropertyDecorator & ClassMethodDecorator\n}\n\nconst flowAnnotation = createFlowAnnotation(\"flow\")\nconst flowBoundAnnotation = createFlowAnnotation(\"flow.bound\", { bound: true })\n\nexport const flow: Flow = Object.assign(\n function flow(arg1, arg2?) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return flowAnnotation.decorate_20223_(arg1, arg2)\n }\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation)\n }\n // flow(fn)\n if (__DEV__ && arguments.length !== 1) {\n die(`Flow expects single argument with generator function`)\n }\n const generator = arg1\n const name = generator.name || \"<unnamed flow>\"\n\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n const res = function () {\n const ctx = this\n const args = arguments\n const runId = ++generatorId\n const gen = action(`${name} - runid: ${runId} - init`, generator).apply(ctx, args)\n let rejector: (error: any) => void\n let pendingPromise: CancellablePromise<any> | undefined = undefined\n\n const promise = new Promise(function (resolve, reject) {\n let stepId = 0\n rejector = reject\n\n function onFulfilled(res: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.next\n ).call(gen, res)\n } catch (e) {\n return reject(e)\n }\n\n next(ret)\n }\n\n function onRejected(err: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.throw!\n ).call(gen, err)\n } catch (e) {\n return reject(e)\n }\n next(ret)\n }\n\n function next(ret: any) {\n if (isFunction(ret?.then)) {\n // an async iterator\n ret.then(next, reject)\n return\n }\n if (ret.done) {\n return resolve(ret.value)\n }\n pendingPromise = Promise.resolve(ret.value) as any\n return pendingPromise!.then(onFulfilled, onRejected)\n }\n\n onFulfilled(undefined) // kick off the process\n }) as any\n\n promise.cancel = action(`${name} - runid: ${runId} - cancel`, function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise)\n }\n // Finally block can return (or yield) stuff..\n const res = gen.return!(undefined as any)\n // eat anything that promise would do, it's cancelled!\n const 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 } catch (e) {\n rejector(e) // there could be a throwing finally block\n }\n })\n return promise\n }\n res.isMobXFlow = true\n return res\n } as any,\n flowAnnotation\n)\n\nflow.bound = createDecoratorAnnotation(flowBoundAnnotation)\n\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel()\n }\n}\n\nexport function flowResult<T>(\n result: T\n): T extends Generator<any, infer R, any>\n ? CancellablePromise<R>\n : T extends CancellablePromise<any>\n ? T\n : never {\n return result as any // just tricking TypeScript :)\n}\n\nexport function isFlow(fn: any): boolean {\n return fn?.isMobXFlow === true\n}\n","import {\n IObservableArray,\n IObservableValue,\n Lambda,\n ObservableMap,\n getAdministration,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isObservableValue,\n ObservableSet,\n die,\n isStringish\n} from \"../internal\"\n\nexport type ReadInterceptor<T> = (value: any) => T\n\n/** Experimental feature right now, tested indirectly via Mobx-State-Tree */\nexport function interceptReads<T>(value: IObservableValue<T>, handler: ReadInterceptor<T>): Lambda\nexport function interceptReads<T>(\n observableArray: IObservableArray<T>,\n handler: ReadInterceptor<T>\n): Lambda\nexport function interceptReads<K, V>(\n observableMap: ObservableMap<K, V>,\n handler: ReadInterceptor<V>\n): Lambda\nexport function interceptReads<V>(\n observableSet: ObservableSet<V>,\n handler: ReadInterceptor<V>\n): Lambda\nexport function interceptReads(\n object: Object,\n property: string,\n handler: ReadInterceptor<any>\n): Lambda\nexport function interceptReads(thing, propOrHandler?, handler?): Lambda {\n let target\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing)\n } else if (isObservableObject(thing)) {\n if (__DEV__ && !isStringish(propOrHandler)) {\n return die(\n `InterceptReads can only be used with a specific property, not with an object in general`\n )\n }\n target = getAdministration(thing, propOrHandler)\n } else if (__DEV__) {\n return die(`Expected observable map, object or array as first array`)\n }\n if (__DEV__ && target.dehancer !== undefined) {\n return die(`An intercept reader was already established`)\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler\n return () => {\n target.dehancer = undefined\n }\n}\n","import {\n IArrayWillChange,\n IArrayWillSplice,\n IInterceptor,\n IMapWillChange,\n IObjectWillChange,\n IObservableArray,\n IObservableValue,\n IValueWillChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetWillChange,\n isFunction\n} from \"../internal\"\n\nexport function intercept<T>(\n value: IObservableValue<T>,\n handler: IInterceptor<IValueWillChange<T>>\n): Lambda\nexport function intercept<T>(\n observableArray: IObservableArray<T> | Array<T>,\n handler: IInterceptor<IArrayWillChange<T> | IArrayWillSplice<T>>\n): Lambda\nexport function intercept<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n handler: IInterceptor<IMapWillChange<K, V>>\n): Lambda\nexport function intercept<V>(\n observableSet: ObservableSet<V> | Set<V>,\n handler: IInterceptor<ISetWillChange<V>>\n): Lambda\nexport function intercept<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n property: K,\n handler: IInterceptor<IValueWillChange<V>>\n): Lambda\nexport function intercept(object: object, handler: IInterceptor<IObjectWillChange>): Lambda\nexport function intercept<T extends object, K extends keyof T>(\n object: T,\n property: K,\n handler: IInterceptor<IValueWillChange<T[K]>>\n): Lambda\nexport function intercept(thing, propOrHandler?, handler?): Lambda {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler)\n } else {\n return interceptInterceptable(thing, propOrHandler)\n }\n}\n\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler)\n}\n\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler)\n}\n","import { $mobx, getAtom, isComputedValue, isObservableObject, die, isStringish } from \"../internal\"\n\nexport function _isComputed(value, property?: PropertyKey): boolean {\n if (property === undefined) {\n return isComputedValue(value)\n }\n if (isObservableObject(value) === false) {\n return false\n }\n if (!value[$mobx].values_.has(property)) {\n return false\n }\n const atom = getAtom(value, property)\n return isComputedValue(atom)\n}\n\nexport function isComputed(value: any): boolean {\n if (__DEV__ && arguments.length > 1) {\n return die(\n `isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`\n )\n }\n return _isComputed(value)\n}\n\nexport function isComputedProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`isComputed expected a property name as second argument`)\n }\n return _isComputed(value, propName)\n}\n","import {\n $mobx,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n die,\n isStringish\n} from \"../internal\"\n\nfunction _isObservable(value, property?: PropertyKey): boolean {\n if (!value) {\n return false\n }\n if (property !== undefined) {\n if (__DEV__ && (isObservableMap(value) || isObservableArray(value))) {\n return die(\n \"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\"\n )\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property)\n }\n return false\n }\n // For first check, see #701\n return (\n isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value)\n )\n}\n\nexport function isObservable(value: any): boolean {\n if (__DEV__ && arguments.length !== 1) {\n die(\n `isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`\n )\n }\n return _isObservable(value)\n}\n\nexport function isObservableProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`expected a property name as second argument`)\n }\n return _isObservable(value, propName)\n}\n","import {\n $mobx,\n IIsObservableObject,\n IObservableArray,\n ObservableMap,\n ObservableSet,\n ObservableObjectAdministration,\n endBatch,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n startBatch,\n die\n} from \"../internal\"\n\nexport function keys<K>(map: ObservableMap<K, any>): ReadonlyArray<K>\nexport function keys<T>(ar: IObservableArray<T>): ReadonlyArray<number>\nexport function keys<T>(set: ObservableSet<T>): ReadonlyArray<T>\nexport function keys<T extends Object>(obj: T): ReadonlyArray<PropertyKey>\nexport function keys(obj: any): any {\n if (isObservableObject(obj)) {\n return (\n (obj as any as IIsObservableObject)[$mobx] as ObservableObjectAdministration\n ).keys_()\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys())\n }\n if (isObservableArray(obj)) {\n return obj.map((_, index) => index)\n }\n die(5)\n}\n\nexport function values<K, T>(map: ObservableMap<K, T>): ReadonlyArray<T>\nexport function values<T>(set: ObservableSet<T>): ReadonlyArray<T>\nexport function values<T>(ar: IObservableArray<T>): ReadonlyArray<T>\nexport function values<T = any>(obj: T): ReadonlyArray<T extends object ? T[keyof T] : any>\nexport function values(obj: any): string[] {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => obj[key])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => 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 die(6)\n}\n\nexport function entries<K, T>(map: ObservableMap<K, T>): ReadonlyArray<[K, T]>\nexport function entries<T>(set: ObservableSet<T>): ReadonlyArray<[T, T]>\nexport function entries<T>(ar: IObservableArray<T>): ReadonlyArray<[number, T]>\nexport function entries<T = any>(\n obj: T\n): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>\nexport function entries(obj: any): any {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => [key, obj[key]])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => [key, obj.get(key)])\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries())\n }\n if (isObservableArray(obj)) {\n return obj.map((key, index) => [index, key])\n }\n die(7)\n}\n\nexport function set<V>(obj: ObservableMap<PropertyKey, V>, values: { [key: string]: V })\nexport function set<K, V>(obj: ObservableMap<K, V>, key: K, value: V)\nexport function set<T>(obj: ObservableSet<T>, value: T)\nexport function set<T>(obj: IObservableArray<T>, index: number, value: T)\nexport function set<T extends Object>(obj: T, values: { [key: string]: any })\nexport function set<T extends Object>(obj: T, key: PropertyKey, value: any)\nexport function set(obj: any, key: any, value?: any): void {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch()\n const values = key\n try {\n for (let key in values) {\n set(obj, key, values[key])\n }\n } finally {\n endBatch()\n }\n return\n }\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].set_(key, value)\n } else if (isObservableMap(obj)) {\n obj.set(key, value)\n } else if (isObservableSet(obj)) {\n obj.add(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n if (key < 0) {\n die(`Invalid index: '${key}'`)\n }\n startBatch()\n if (key >= obj.length) {\n obj.length = key + 1\n }\n obj[key] = value\n endBatch()\n } else {\n die(8)\n }\n}\n\nexport function remove<K, V>(obj: ObservableMap<K, V>, key: K)\nexport function remove<T>(obj: ObservableSet<T>, key: T)\nexport function remove<T>(obj: IObservableArray<T>, index: number)\nexport function remove<T extends Object>(obj: T, key: string)\nexport function remove(obj: any, key: any): void {\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].delete_(key)\n } else if (isObservableMap(obj)) {\n obj.delete(key)\n } else if (isObservableSet(obj)) {\n obj.delete(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n obj.splice(key, 1)\n } else {\n die(9)\n }\n}\n\nexport function has<K>(obj: ObservableMap<K, any>, key: K): boolean\nexport function has<T>(obj: ObservableSet<T>, key: T): boolean\nexport function has<T>(obj: IObservableArray<T>, index: number): boolean\nexport function has<T extends Object>(obj: T, key: string): boolean\nexport function has(obj: any, key: any): boolean {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].has_(key)\n } else if (isObservableMap(obj)) {\n return obj.has(key)\n } else if (isObservableSet(obj)) {\n return obj.has(key)\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length\n }\n die(10)\n}\n\nexport function get<K, V>(obj: ObservableMap<K, V>, key: K): V | undefined\nexport function get<T>(obj: IObservableArray<T>, index: number): T | undefined\nexport function get<T extends Object>(obj: T, key: string): any\nexport function get(obj: any, key: any): any {\n if (!has(obj, key)) {\n return undefined\n }\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].get_(key)\n } else if (isObservableMap(obj)) {\n return obj.get(key)\n } else if (isObservableArray(obj)) {\n return obj[key]\n }\n die(11)\n}\n\nexport function apiDefineProperty(obj: Object, key: PropertyKey, descriptor: PropertyDescriptor) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].defineProperty_(key, descriptor)\n }\n die(39)\n}\n\nexport function apiOwnKeys(obj: Object) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].ownKeys_()\n }\n die(38)\n}\n","import {\n IArrayDidChange,\n IComputedValue,\n IMapDidChange,\n IObjectDidChange,\n IObservableArray,\n IObservableValue,\n IValueDidChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetDidChange,\n isFunction\n} from \"../internal\"\n\nexport function observe<T>(\n value: IObservableValue<T> | IComputedValue<T>,\n listener: (change: IValueDidChange<T>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<T>(\n observableArray: IObservableArray<T> | Array<T>,\n listener: (change: IArrayDidChange<T>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<V>(\n // ObservableSet/ObservableMap are required despite they implement Set/Map: https://github.com/mobxjs/mobx/pull/3180#discussion_r746542929\n observableSet: ObservableSet<V> | Set<V>,\n listener: (change: ISetDidChange<V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n listener: (change: IMapDidChange<K, V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<K, V>(\n observableMap: ObservableMap<K, V> | Map<K, V>,\n property: K,\n listener: (change: IValueDidChange<V>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: Object,\n listener: (change: IObjectDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe<T, K extends keyof T>(\n object: T,\n property: K,\n listener: (change: IValueDidChange<T[K]>) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(thing, propOrCb?, cbOrFire?, fireImmediately?): Lambda {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately)\n } else {\n return observeObservable(thing, propOrCb, cbOrFire)\n }\n}\n\nfunction observeObservable(thing, listener, fireImmediately: boolean) {\n return getAdministration(thing).observe_(listener, fireImmediately)\n}\n\nfunction observeObservableProperty(thing, property, listener, fireImmediately: boolean) {\n return getAdministration(thing, property).observe_(listener, fireImmediately)\n}\n","import {\n isObservable,\n isObservableArray,\n isObservableValue,\n isObservableMap,\n isObservableSet,\n isComputedValue,\n die,\n apiOwnKeys,\n objectPrototype\n} from \"../internal\"\n\nfunction cache<K, V>(map: Map<any, any>, key: K, value: V): V {\n map.set(key, value)\n return value\n}\n\nfunction toJSHelper(source, __alreadySeen: Map<any, any>) {\n if (\n source == null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n !isObservable(source)\n ) {\n return source\n }\n\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen)\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source)\n }\n if (isObservableArray(source)) {\n const res = cache(__alreadySeen, source, new Array(source.length))\n source.forEach((value, idx) => {\n res[idx] = toJSHelper(value, __alreadySeen)\n })\n return res\n }\n if (isObservableSet(source)) {\n const res = cache(__alreadySeen, source, new Set())\n source.forEach(value => {\n res.add(toJSHelper(value, __alreadySeen))\n })\n return res\n }\n if (isObservableMap(source)) {\n const res = cache(__alreadySeen, source, new Map())\n source.forEach((value, key) => {\n res.set(key, toJSHelper(value, __alreadySeen))\n })\n return res\n } else {\n // must be observable object\n const res = cache(__alreadySeen, source, {})\n apiOwnKeys(source).forEach((key: any) => {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n res[key] = toJSHelper(source[key], __alreadySeen)\n }\n })\n return res\n }\n}\n\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */\nexport function toJS<T>(source: T, options?: any): T {\n if (__DEV__ && options) {\n die(\"toJS no longer supports options\")\n }\n return toJSHelper(source, new Map())\n}\n","import { TraceMode, die, getAtom, globalState } from \"../internal\"\n\nexport function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void\nexport function trace(thing?: any, enterBreakPoint?: boolean): void\nexport function trace(enterBreakPoint?: boolean): void\nexport function trace(...args: any[]): void {\n if (!__DEV__) {\n return\n }\n let enterBreakPoint = false\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop()\n }\n const derivation = getAtomFromArgs(args)\n if (!derivation) {\n return die(\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 }\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}\n\nfunction getAtomFromArgs(args): any {\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","import { endBatch, startBatch } from \"../internal\"\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 */\nexport function transaction<T>(action: () => T, thisArg = undefined): T {\n startBatch()\n try {\n return action.apply(thisArg)\n } finally {\n endBatch()\n }\n}\n","import {\n $mobx,\n IReactionDisposer,\n Lambda,\n autorun,\n createAction,\n getNextId,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IWhenOptions {\n name?: string\n timeout?: number\n onError?: (error: any) => void\n signal?: GenericAbortSignal\n}\n\nexport function when(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise<void> & { cancel(): void }\nexport function when(\n predicate: () => boolean,\n effect: Lambda,\n opts?: IWhenOptions\n): IReactionDisposer\nexport function when(predicate: any, arg1?: any, arg2?: any): any {\n if (arguments.length === 1 || (arg1 && typeof arg1 === \"object\")) {\n return whenPromise(predicate, arg1)\n }\n return _when(predicate, arg1, arg2 || {})\n}\n\nfunction _when(predicate: () => boolean, effect: Lambda, opts: IWhenOptions): IReactionDisposer {\n let timeoutHandle: any\n if (typeof opts.timeout === \"number\") {\n const error = new Error(\"WHEN_TIMEOUT\")\n timeoutHandle = setTimeout(() => {\n if (!disposer[$mobx].isDisposed) {\n disposer()\n if (opts.onError) {\n opts.onError(error)\n } else {\n throw error\n }\n }\n }, opts.timeout)\n }\n\n opts.name = __DEV__ ? opts.name || \"When@\" + getNextId() : \"When\"\n const effectAction = createAction(\n __DEV__ ? opts.name + \"-effect\" : \"When-effect\",\n effect as Function\n )\n // eslint-disable-next-line\n var disposer = autorun(r => {\n // predicate should not change state\n let cond = allowStateChanges(false, predicate)\n if (cond) {\n r.dispose()\n if (timeoutHandle) {\n clearTimeout(timeoutHandle)\n }\n effectAction()\n }\n }, opts)\n return disposer\n}\n\nfunction whenPromise(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise<void> & { cancel(): void } {\n if (__DEV__ && opts && opts.onError) {\n return die(`the options 'onError' and 'promise' cannot be combined`)\n }\n if (opts?.signal?.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), { cancel: () => null })\n }\n let cancel\n let abort\n const res = new Promise((resolve, reject) => {\n let disposer = _when(predicate, resolve as Lambda, { ...opts, onError: reject })\n cancel = () => {\n disposer()\n reject(new Error(\"WHEN_CANCELLED\"))\n }\n abort = () => {\n disposer()\n reject(new Error(\"WHEN_ABORTED\"))\n }\n opts?.signal?.addEventListener?.(\"abort\", abort)\n }).finally(() => opts?.signal?.removeEventListener?.(\"abort\", abort))\n ;(res as any).cancel = cancel\n return res as any\n}\n","import { Lambda, once, untrackedEnd, untrackedStart, die } from \"../internal\"\n\nexport type IInterceptor<T> = (change: T) => T | null\n\nexport interface IInterceptable<T> {\n interceptors_: IInterceptor<T>[] | undefined\n}\n\nexport function hasInterceptors(interceptable: IInterceptable<any>) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0\n}\n\nexport function registerInterceptor<T>(\n interceptable: IInterceptable<T>,\n handler: IInterceptor<T>\n): Lambda {\n const interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = [])\n interceptors.push(handler)\n return once(() => {\n const idx = interceptors.indexOf(handler)\n if (idx !== -1) {\n interceptors.splice(idx, 1)\n }\n })\n}\n\nexport function interceptChange<T>(\n interceptable: IInterceptable<T | null>,\n change: T | null\n): T | null {\n const prevU = untrackedStart()\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n const interceptors = [...(interceptable.interceptors_ || [])]\n for (let i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change)\n if (change && !(change as any).type) {\n die(14)\n }\n if (!change) {\n break\n }\n }\n return change\n } finally {\n untrackedEnd(prevU)\n }\n}\n","import { Lambda, once, untrackedEnd, untrackedStart } from \"../internal\"\n\nexport interface IListenable {\n changeListeners_: Function[] | undefined\n}\n\nexport function hasListeners(listenable: IListenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0\n}\n\nexport function registerListener(listenable: IListenable, handler: Function): Lambda {\n const listeners = listenable.changeListeners_ || (listenable.changeListeners_ = [])\n listeners.push(handler)\n return once(() => {\n const idx = listeners.indexOf(handler)\n if (idx !== -1) {\n listeners.splice(idx, 1)\n }\n })\n}\n\nexport function notifyListeners<T>(listenable: IListenable, change: T) {\n const prevU = untrackedStart()\n let listeners = listenable.changeListeners_\n if (!listeners) {\n return\n }\n listeners = listeners.slice()\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change)\n }\n untrackedEnd(prevU)\n}\n","import {\n $mobx,\n asObservableObject,\n AnnotationsMap,\n CreateObservableOptions,\n ObservableObjectAdministration,\n collectStoredAnnotations,\n isPlainObject,\n isObservableObject,\n die,\n ownKeys,\n extendObservable,\n addHiddenProp,\n storedAnnotationsSymbol,\n initObservable\n} from \"../internal\"\n\n// Hack based on https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-322267089\n// We need this, because otherwise, AdditionalKeys is going to be inferred to be any\n// set of superfluous keys. But, we rather want to get a compile error unless AdditionalKeys is\n// _explicity_ passed as generic argument\n// Fixes: https://github.com/mobxjs/mobx/issues/2325#issuecomment-691070022\ntype NoInfer<T> = [T][T extends any ? 0 : never]\n\ntype MakeObservableOptions = Omit<CreateObservableOptions, \"proxy\">\n\nexport function makeObservable<T extends object, AdditionalKeys extends PropertyKey = never>(\n target: T,\n annotations?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,\n options?: MakeObservableOptions\n): T {\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n if (__DEV__ && annotations && target[storedAnnotationsSymbol]) {\n die(\n `makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`\n )\n }\n // Default to decorators\n annotations ??= collectStoredAnnotations(target)\n\n // Annotate\n ownKeys(annotations).forEach(key => adm.make_(key, annotations![key]))\n })\n return target\n}\n\n// proto[keysSymbol] = new Set<PropertyKey>()\nconst keysSymbol = Symbol(\"mobx-keys\")\n\nexport function makeAutoObservable<T extends object, AdditionalKeys extends PropertyKey = never>(\n target: T,\n overrides?: AnnotationsMap<T, NoInfer<AdditionalKeys>>,\n options?: MakeObservableOptions\n): T {\n if (__DEV__) {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(`'makeAutoObservable' can only be used for classes that don't have a superclass`)\n }\n if (isObservableObject(target)) {\n die(`makeAutoObservable can only be used on objects not already made observable`)\n }\n }\n\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options)\n }\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n const proto = Object.getPrototypeOf(target)\n const keys = new Set([...ownKeys(target), ...ownKeys(proto)])\n keys.delete(\"constructor\")\n keys.delete($mobx)\n addHiddenProp(proto, keysSymbol, keys)\n }\n\n target[keysSymbol].forEach(key =>\n adm.make_(\n key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true\n )\n )\n })\n\n return target\n}\n","import {\n $mobx,\n Atom,\n EMPTY_ARRAY,\n IAtom,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n addHiddenFinalProp,\n checkIfStateModificationsAreAllowed,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n assertProxies,\n reserveArrayBuffer,\n hasProp,\n die,\n globalState,\n initObservable\n} from \"../internal\"\n\nconst SPLICE = \"splice\"\nexport const UPDATE = \"update\"\nexport const MAX_SPLICE_SIZE = 10000 // See e.g. https://github.com/mobxjs/mobx/issues/859\n\nexport interface IObservableArray<T = any> extends Array<T> {\n spliceWithArray(index: number, deleteCount?: number, newItems?: T[]): T[]\n clear(): T[]\n replace(newItems: T[]): T[]\n remove(value: T): boolean\n toJSON(): T[]\n}\n\ninterface IArrayBaseChange<T> {\n object: IObservableArray<T>\n observableKind: \"array\"\n debugObjectName: string\n index: number\n}\n\nexport type IArrayDidChange<T = any> = IArrayUpdate<T> | IArraySplice<T>\n\nexport interface IArrayUpdate<T = any> extends IArrayBaseChange<T> {\n type: \"update\"\n newValue: T\n oldValue: T\n}\n\nexport interface IArraySplice<T = any> extends IArrayBaseChange<T> {\n type: \"splice\"\n added: T[]\n addedCount: number\n removed: T[]\n removedCount: number\n}\n\nexport interface IArrayWillChange<T = any> {\n object: IObservableArray<T>\n index: number\n type: \"update\"\n newValue: T\n}\n\nexport interface IArrayWillSplice<T = any> {\n object: IObservableArray<T>\n index: number\n type: \"splice\"\n added: T[]\n removedCount: number\n}\n\nconst arrayTraps = {\n get(target, name) {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === $mobx) {\n return adm\n }\n if (name === \"length\") {\n return adm.getArrayLength_()\n }\n if (typeof name === \"string\" && !isNaN(name as any)) {\n return adm.get_(parseInt(name))\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name]\n }\n return target[name]\n },\n set(target, name, value): boolean {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === \"length\") {\n adm.setArrayLength_(value)\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value\n } else {\n // numeric string\n adm.set_(parseInt(name), value)\n }\n return true\n },\n preventExtensions() {\n die(15)\n }\n}\n\nexport class ObservableArrayAdministration\n implements IInterceptable<IArrayWillChange<any> | IArrayWillSplice<any>>, IListenable\n{\n atom_: IAtom\n readonly values_: any[] = [] // this is the prop that gets proxied, so can't replace it!\n interceptors_\n changeListeners_\n enhancer_: (newV: any, oldV: any | undefined) => any\n dehancer: any\n proxy_!: IObservableArray<any>\n lastKnownLength_ = 0\n\n constructor(\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n enhancer: IEnhancer<any>,\n public owned_: boolean,\n public legacyMode_: boolean\n ) {\n this.atom_ = new Atom(name)\n this.enhancer_ = (newV, oldV) =>\n enhancer(newV, oldV, __DEV__ ? name + \"[..]\" : \"ObservableArray[..]\")\n }\n\n dehanceValue_(value: any): any {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n dehanceValues_(values: any[]): any[] {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer) as any\n }\n return values\n }\n\n intercept_(handler: IInterceptor<IArrayWillChange<any> | IArrayWillSplice<any>>): Lambda {\n return registerInterceptor<IArrayWillChange<any> | IArrayWillSplice<any>>(this, handler)\n }\n\n observe_(\n listener: (changeData: IArrayDidChange<any>) => void,\n fireImmediately = false\n ): Lambda {\n if (fireImmediately) {\n listener(<IArraySplice<any>>{\n observableKind: \"array\",\n object: this.proxy_ as any,\n debugObjectName: this.atom_.name_,\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\n getArrayLength_(): number {\n this.atom_.reportObserved()\n return this.values_.length\n }\n\n setArrayLength_(newLength: number) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength)\n }\n let currentLength = this.values_.length\n if (newLength === currentLength) {\n return\n } else if (newLength > currentLength) {\n const newItems = new Array(newLength - currentLength)\n for (let i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems)\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength)\n }\n }\n\n updateArrayLength_(oldLength: number, delta: number) {\n if (oldLength !== this.lastKnownLength_) {\n die(16)\n }\n this.lastKnownLength_ += delta\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1)\n }\n }\n\n spliceWithArray_(index: number, deleteCount?: number, newItems?: any[]): any[] {\n checkIfStateModificationsAreAllowed(this.atom_)\n const length = this.values_.length\n\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 }\n\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 }\n\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY\n }\n\n if (hasInterceptors(this)) {\n const change = interceptChange<IArrayWillSplice<any>>(this as any, {\n object: this.proxy_ as any,\n type: SPLICE,\n index,\n removedCount: deleteCount,\n added: newItems\n })\n if (!change) {\n return EMPTY_ARRAY\n }\n deleteCount = change.removedCount\n newItems = change.added\n }\n\n newItems =\n newItems.length === 0 ? newItems : newItems.map(v => this.enhancer_(v, undefined))\n if (this.legacyMode_ || __DEV__) {\n const lengthDelta = newItems.length - deleteCount\n this.updateArrayLength_(length, lengthDelta) // checks if internal array wasn't modified\n }\n const res = this.spliceItemsIntoValues_(index, deleteCount, newItems)\n\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res)\n }\n return this.dehanceValues_(res)\n }\n\n spliceItemsIntoValues_(index: number, deleteCount: number, newItems: any[]): any[] {\n if (newItems.length < MAX_SPLICE_SIZE) {\n return this.values_.splice(index, deleteCount, ...newItems)\n } else {\n // The items removed by the splice\n const res = this.values_.slice(index, index + deleteCount)\n // The items that that should remain at the end of the array\n let oldItems = this.values_.slice(index + deleteCount)\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount\n for (let i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i]\n }\n for (let i = 0; i < oldItems.length; i++) {\n this.values_[index + newItems.length + i] = oldItems[i]\n }\n return res\n }\n }\n\n notifyArrayChildUpdate_(index: number, newValue: any, oldValue: any) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArrayDidChange | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index,\n newValue,\n oldValue\n } as const)\n : null\n\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 (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n this.atom_.reportChanged()\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n notifyArraySplice_(index: number, added: any[], removed: any[]) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArraySplice | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index,\n removed,\n added,\n removedCount: removed.length,\n addedCount: added.length\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\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 }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get_(index: number): any | undefined {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(\n __DEV__\n ? `[mobx.array] Attempt to read an array index (${index}) that is out of bounds (${this.values_.length}). Please check length first. Out of bound indices will not be tracked by MobX`\n : `[mobx] Out of bounds read: ${index}`\n )\n return undefined\n }\n this.atom_.reportObserved()\n return this.dehanceValue_(this.values_[index])\n }\n\n set_(index: number, newValue: any) {\n const values = this.values_\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length)\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_)\n const oldValue = values[index]\n if (hasInterceptors(this)) {\n const change = interceptChange<IArrayWillChange<any>>(this as any, {\n type: UPDATE,\n object: this.proxy_ as any, // since \"this\" is the real array we need to pass its proxy\n index,\n newValue\n })\n if (!change) {\n return\n }\n newValue = change.newValue\n }\n newValue = this.enhancer_(newValue, oldValue)\n const changed = newValue !== oldValue\n if (changed) {\n values[index] = newValue\n this.notifyArrayChildUpdate_(index, newValue, oldValue)\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n const newItems = new Array(index + 1 - values.length)\n for (let i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue\n this.spliceWithArray_(values.length, 0, newItems)\n }\n }\n}\n\nexport function createObservableArray<T>(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n): IObservableArray<T> {\n assertProxies()\n return initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, false)\n addHiddenFinalProp(adm.values_, $mobx, adm)\n const proxy = new Proxy(adm.values_, arrayTraps) as any\n adm.proxy_ = proxy\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues)\n }\n return proxy\n })\n}\n\n// eslint-disable-next-line\nexport var arrayExtensions = {\n clear(): any[] {\n return this.splice(0)\n },\n\n replace(newItems: any[]) {\n const adm: ObservableArrayAdministration = this[$mobx]\n return adm.spliceWithArray_(0, adm.values_.length, newItems)\n },\n\n // Used by JSON.stringify\n toJSON(): any[] {\n return this.slice()\n },\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(index: number, deleteCount?: number, ...newItems: any[]): any[] {\n const adm: ObservableArrayAdministration = 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\n spliceWithArray(index: number, deleteCount?: number, newItems?: any[]): any[] {\n return (this[$mobx] as ObservableArrayAdministration).spliceWithArray_(\n index,\n deleteCount,\n newItems\n )\n },\n\n push(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(adm.values_.length, 0, items)\n return adm.values_.length\n },\n\n pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0]\n },\n\n shift() {\n return this.splice(0, 1)[0]\n },\n\n unshift(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(0, 0, items)\n return adm.values_.length\n },\n\n reverse(): any[] {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\")\n }\n this.replace(this.slice().reverse())\n return this\n },\n\n sort(): any[] {\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 (globalState.trackingDerivation) {\n die(37, \"sort\")\n }\n const copy = this.slice()\n copy.sort.apply(copy, arguments)\n this.replace(copy)\n return this\n },\n\n remove(value: any): boolean {\n const adm: ObservableArrayAdministration = this[$mobx]\n const 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}\n\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"at\", simpleFunc)\naddArrayExtension(\"concat\", simpleFunc)\naddArrayExtension(\"flat\", simpleFunc)\naddArrayExtension(\"includes\", simpleFunc)\naddArrayExtension(\"indexOf\", simpleFunc)\naddArrayExtension(\"join\", simpleFunc)\naddArrayExtension(\"lastIndexOf\", simpleFunc)\naddArrayExtension(\"slice\", simpleFunc)\naddArrayExtension(\"toString\", simpleFunc)\naddArrayExtension(\"toLocaleString\", simpleFunc)\naddArrayExtension(\"toSorted\", simpleFunc)\naddArrayExtension(\"toSpliced\", simpleFunc)\naddArrayExtension(\"with\", simpleFunc)\n// map\naddArrayExtension(\"every\", mapLikeFunc)\naddArrayExtension(\"filter\", mapLikeFunc)\naddArrayExtension(\"find\", mapLikeFunc)\naddArrayExtension(\"findIndex\", mapLikeFunc)\naddArrayExtension(\"findLast\", mapLikeFunc)\naddArrayExtension(\"findLastIndex\", mapLikeFunc)\naddArrayExtension(\"flatMap\", mapLikeFunc)\naddArrayExtension(\"forEach\", mapLikeFunc)\naddArrayExtension(\"map\", mapLikeFunc)\naddArrayExtension(\"some\", mapLikeFunc)\naddArrayExtension(\"toReversed\", mapLikeFunc)\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc)\naddArrayExtension(\"reduceRight\", reduceLikeFunc)\n\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName)\n }\n}\n\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\n// Make sure callbacks receive correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName]((element, index) => {\n return callback.call(thisArg, element, index, this)\n })\n }\n}\n\n// Make sure callbacks receive correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n // #2432 - reduce behavior depends on arguments.length\n const callback = arguments[0]\n arguments[0] = (accumulator, currentValue, index) => {\n return callback(accumulator, currentValue, index, this)\n }\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\nconst isObservableArrayAdministration = createInstanceofPredicate(\n \"ObservableArrayAdministration\",\n ObservableArrayAdministration\n)\n\nexport function isObservableArray(thing): thing is IObservableArray<any> {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx])\n}\n","import {\n $mobx,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n ObservableValue,\n checkIfStateModificationsAreAllowed,\n createAtom,\n createInstanceofPredicate,\n deepEnhancer,\n getNextId,\n getPlainObjectKeys,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isES6Map,\n isPlainES6Map,\n isPlainObject,\n isSpyEnabled,\n makeIterable,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n stringifyKey,\n transaction,\n untracked,\n onBecomeUnobserved,\n globalState,\n die,\n isFunction,\n UPDATE,\n IAtom,\n PureSpyEvent,\n initObservable\n} from \"../internal\"\n\nexport interface IKeyValueMap<V = any> {\n [key: string]: V\n}\n\nexport type IMapEntry<K = any, V = any> = [K, V]\nexport type IReadonlyMapEntry<K = any, V = any> = readonly [K, V]\nexport type IMapEntries<K = any, V = any> = IMapEntry<K, V>[]\nexport type IReadonlyMapEntries<K = any, V = any> = IReadonlyMapEntry<K, V>[]\n\nexport type IMapDidChange<K = any, V = any> = { observableKind: \"map\"; debugObjectName: string } & (\n | {\n object: ObservableMap<K, V>\n name: K // actual the key or index, but this is based on the ancient .observe proposal for consistency\n type: \"update\"\n newValue: V\n oldValue: V\n }\n | {\n object: ObservableMap<K, V>\n name: K\n type: \"add\"\n newValue: V\n }\n | {\n object: ObservableMap<K, V>\n name: K\n type: \"delete\"\n oldValue: V\n }\n)\n\nexport interface IMapWillChange<K = any, V = any> {\n object: ObservableMap<K, V>\n type: \"update\" | \"add\" | \"delete\"\n name: K\n newValue?: V\n}\n\nconst ObservableMapMarker = {}\n\nexport const ADD = \"add\"\nexport const DELETE = \"delete\"\n\nexport type IObservableMapInitialValues<K = any, V = any> =\n | IMapEntries<K, V>\n | IReadonlyMapEntries<K, V>\n | IKeyValueMap<V>\n | Map<K, V>\n\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nexport class ObservableMap<K = any, V = any>\n implements Map<K, V>, IInterceptable<IMapWillChange<K, V>>, IListenable\n{\n [$mobx] = ObservableMapMarker\n data_!: Map<K, ObservableValue<V>>\n hasMap_!: Map<K, ObservableValue<boolean>> // hasMap, not hashMap >-).\n keysAtom_!: IAtom\n interceptors_\n changeListeners_\n dehancer: any\n\n constructor(\n initialData?: IObservableMapInitialValues<K, V>,\n public enhancer_: IEnhancer<V> = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableMap@\" + getNextId() : \"ObservableMap\"\n ) {\n if (!isFunction(Map)) {\n die(18)\n }\n initObservable(() => {\n this.keysAtom_ = createAtom(__DEV__ ? `${this.name_}.keys()` : \"ObservableMap.keys()\")\n this.data_ = new Map()\n this.hasMap_ = new Map()\n if (initialData) {\n this.merge(initialData)\n }\n })\n }\n\n private has_(key: K): boolean {\n return this.data_.has(key)\n }\n\n has(key: K): boolean {\n if (!globalState.trackingDerivation) {\n return this.has_(key)\n }\n\n let entry = this.hasMap_.get(key)\n if (!entry) {\n const newEntry = (entry = new ObservableValue(\n this.has_(key),\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableMap.key?\",\n false\n ))\n this.hasMap_.set(key, newEntry)\n onBecomeUnobserved(newEntry, () => this.hasMap_.delete(key))\n }\n\n return entry.get()\n }\n\n set(key: K, value: V) {\n const hasKey = this.has_(key)\n if (hasInterceptors(this)) {\n const change = interceptChange<IMapWillChange<K, V>>(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n })\n if (!change) {\n return this\n }\n value = change.newValue!\n }\n if (hasKey) {\n this.updateValue_(key, value)\n } else {\n this.addValue_(key, value)\n }\n return this\n }\n\n delete(key: K): boolean {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n if (hasInterceptors(this)) {\n const change = interceptChange<IMapWillChange<K, V>>(this, {\n type: DELETE,\n object: this,\n name: key\n })\n if (!change) {\n return false\n }\n }\n if (this.has_(key)) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: (<any>this.data_.get(key)).value_,\n name: key\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n transaction(() => {\n this.keysAtom_.reportChanged()\n this.hasMap_.get(key)?.setNewValue_(false)\n const observable = this.data_.get(key)!\n observable.setNewValue_(undefined as any)\n this.data_.delete(key)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n private updateValue_(key: K, newValue: V | undefined) {\n const observable = this.data_.get(key)!\n newValue = (observable as any).prepareNewValue_(newValue) as V\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n observable.setNewValue_(newValue as V)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private addValue_(key: K, newValue: V) {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n transaction(() => {\n const observable = new ObservableValue(\n newValue,\n this.enhancer_,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}` : \"ObservableMap.key\",\n false\n )\n this.data_.set(key, observable)\n newValue = (observable as any).value_ // value might have been changed\n this.hasMap_.get(key)?.setNewValue_(true)\n this.keysAtom_.reportChanged()\n })\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange<K, V> | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get(key: K): V | undefined {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key)!.get())\n }\n return this.dehanceValue_(undefined)\n }\n\n private dehanceValue_<X extends V | undefined>(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n keys(): IterableIterator<K> {\n this.keysAtom_.reportObserved()\n return this.data_.keys()\n }\n\n values(): IterableIterator<V> {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : self.get(value)\n }\n }\n })\n }\n\n entries(): IterableIterator<IMapEntry<K, V>> {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : ([value, self.get(value)!] as [K, V])\n }\n }\n })\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n forEach(callback: (value: V, key: K, object: Map<K, V>) => void, thisArg?) {\n for (const [key, value] of this) {\n callback.call(thisArg, value, key, this)\n }\n }\n\n /** Merge another object into this object, returns this. */\n merge(other?: IObservableMapInitialValues<K, V>): ObservableMap<K, V> {\n if (isObservableMap(other)) {\n other = new Map(other)\n }\n transaction(() => {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach((key: any) =>\n this.set(key as K, (other as IKeyValueMap)[key])\n )\n } else if (Array.isArray(other)) {\n other.forEach(([key, value]) => this.set(key, value))\n } else if (isES6Map(other)) {\n if (!isPlainES6Map(other)) {\n die(19, other)\n }\n other.forEach((value, key) => this.set(key, value))\n } else if (other !== null && other !== undefined) {\n die(20, other)\n }\n })\n return this\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const key of this.keys()) {\n this.delete(key)\n }\n })\n })\n }\n\n replace(values: IObservableMapInitialValues<K, V>): ObservableMap<K, V> {\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(() => {\n // Convert to map so we can do quick key lookups\n const replacementMap = convertToMap(values)\n const orderedData = new Map()\n // Used for optimization\n let keysReportChangedCalled = false\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 (const key of this.data_.keys()) {\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n const deleted = this.delete(key)\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n } else {\n // Delete prevented by interceptor\n const value = this.data_.get(key)\n orderedData.set(key, value)\n }\n }\n }\n // Merge entries\n for (const [key, value] of replacementMap.entries()) {\n // We will want to know whether a new key is added\n const 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 const value = this.data_.get(key)\n orderedData.set(key, value)\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n }\n }\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 } else {\n const iter1 = this.data_.keys()\n const iter2 = orderedData.keys()\n let next1 = iter1.next()\n let 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\n get size(): number {\n this.keysAtom_.reportObserved()\n return this.data_.size\n }\n\n toString(): string {\n return \"[object ObservableMap]\"\n }\n\n toJSON(): [K, V][] {\n return Array.from(this)\n }\n\n get [Symbol.toStringTag]() {\n return \"Map\"\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 observe_(listener: (changes: IMapDidChange<K, V>) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor<IMapWillChange<K, V>>): Lambda {\n return registerInterceptor(this, handler)\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap) as (\n thing: any\n) => thing is ObservableMap<any, any>\n\nfunction convertToMap(dataStructure: any): Map<any, any> {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure)\n } else if (isPlainObject(dataStructure)) {\n const map = new Map()\n for (const key in dataStructure) {\n map.set(key, dataStructure[key])\n }\n return map\n } else {\n return die(21, dataStructure)\n }\n}\n","import {\n $mobx,\n createAtom,\n deepEnhancer,\n getNextId,\n IEnhancer,\n isSpyEnabled,\n hasListeners,\n IListenable,\n registerListener,\n Lambda,\n spyReportStart,\n notifyListeners,\n spyReportEnd,\n createInstanceofPredicate,\n hasInterceptors,\n interceptChange,\n IInterceptable,\n IInterceptor,\n registerInterceptor,\n checkIfStateModificationsAreAllowed,\n untracked,\n makeIterable,\n transaction,\n isES6Set,\n IAtom,\n DELETE,\n ADD,\n die,\n isFunction,\n initObservable\n} from \"../internal\"\n\nconst ObservableSetMarker = {}\n\nexport type IObservableSetInitialValues<T> = Set<T> | readonly T[]\n\nexport type ISetDidChange<T = any> =\n | {\n object: ObservableSet<T>\n observableKind: \"set\"\n debugObjectName: string\n type: \"add\"\n newValue: T\n }\n | {\n object: ObservableSet<T>\n observableKind: \"set\"\n debugObjectName: string\n type: \"delete\"\n oldValue: T\n }\n\nexport type ISetWillChange<T = any> =\n | {\n type: \"delete\"\n object: ObservableSet<T>\n oldValue: T\n }\n | {\n type: \"add\"\n object: ObservableSet<T>\n newValue: T\n }\n\nexport class ObservableSet<T = any> implements Set<T>, IInterceptable<ISetWillChange>, IListenable {\n [$mobx] = ObservableSetMarker\n private data_: Set<any> = new Set()\n atom_!: IAtom\n changeListeners_\n interceptors_\n dehancer: any\n enhancer_: (newV: any, oldV: any | undefined) => any\n\n constructor(\n initialData?: IObservableSetInitialValues<T>,\n enhancer: IEnhancer<T> = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableSet@\" + getNextId() : \"ObservableSet\"\n ) {\n if (!isFunction(Set)) {\n die(22)\n }\n this.enhancer_ = (newV, oldV) => enhancer(newV, oldV, name_)\n initObservable(() => {\n this.atom_ = createAtom(this.name_)\n if (initialData) {\n this.replace(initialData)\n }\n })\n }\n\n private dehanceValue_<X extends T | undefined>(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const value of this.data_.values()) {\n this.delete(value)\n }\n })\n })\n }\n\n forEach(callbackFn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any) {\n for (const value of this) {\n callbackFn.call(thisArg, value, value, this)\n }\n }\n\n get size() {\n this.atom_.reportObserved()\n return this.data_.size\n }\n\n add(value: T) {\n checkIfStateModificationsAreAllowed(this.atom_)\n if (hasInterceptors(this)) {\n const change = interceptChange<ISetWillChange<T>>(this, {\n type: ADD,\n object: this,\n newValue: value\n })\n if (!change) {\n return this\n }\n // 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(() => {\n this.data_.add(this.enhancer_(value, undefined))\n this.atom_.reportChanged()\n })\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? <ISetDidChange<T>>{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n }\n : null\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n }\n\n return this\n }\n\n delete(value: T) {\n if (hasInterceptors(this)) {\n const change = interceptChange<ISetWillChange<T>>(this, {\n type: DELETE,\n object: this,\n oldValue: value\n })\n if (!change) {\n return false\n }\n }\n if (this.has(value)) {\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? <ISetDidChange<T>>{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n }\n : null\n\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n transaction(() => {\n this.atom_.reportChanged()\n this.data_.delete(value)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n has(value: T) {\n this.atom_.reportObserved()\n return this.data_.has(this.dehanceValue_(value))\n }\n\n entries() {\n let nextIndex = 0\n const keys = Array.from(this.keys())\n const values = Array.from(this.values())\n return makeIterable<[T, T]>({\n next() {\n const index = nextIndex\n nextIndex += 1\n return index < values.length\n ? { value: [keys[index], values[index]], done: false }\n : { done: true }\n }\n } as any)\n }\n\n keys(): IterableIterator<T> {\n return this.values()\n }\n\n values(): IterableIterator<T> {\n this.atom_.reportObserved()\n const self = this\n let nextIndex = 0\n const observableValues = Array.from(this.data_.values())\n return makeIterable<T>({\n next() {\n return nextIndex < observableValues.length\n ? { value: self.dehanceValue_(observableValues[nextIndex++]), done: false }\n : { done: true }\n }\n } as any)\n }\n\n intersection<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T & U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.intersection(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.intersection(otherSet)\n }\n }\n\n union<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T | U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.union(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.union(otherSet)\n }\n }\n\n difference<U>(otherSet: ReadonlySetLike<U>): Set<T> {\n return new Set(this).difference(otherSet)\n }\n\n symmetricDifference<U>(otherSet: ReadonlySetLike<U> | Set<U>): Set<T | U> {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.symmetricDifference(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.symmetricDifference(otherSet)\n }\n }\n\n isSubsetOf(otherSet: ReadonlySetLike<unknown>): boolean {\n return new Set(this).isSubsetOf(otherSet)\n }\n\n isSupersetOf(otherSet: ReadonlySetLike<unknown>): boolean {\n return new Set(this).isSupersetOf(otherSet)\n }\n\n isDisjointFrom(otherSet: ReadonlySetLike<unknown> | Set<unknown>): boolean {\n if (isES6Set(otherSet) && !isObservableSet(otherSet)) {\n return otherSet.isDisjointFrom(this)\n } else {\n const dehancedSet = new Set(this)\n return dehancedSet.isDisjointFrom(otherSet)\n }\n }\n\n replace(other: ObservableSet<T> | IObservableSetInitialValues<T>): ObservableSet<T> {\n if (isObservableSet(other)) {\n other = new Set(other)\n }\n\n transaction(() => {\n if (Array.isArray(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (isES6Set(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other)\n }\n })\n\n return this\n }\n observe_(listener: (changes: ISetDidChange<T>) => void, fireImmediately?: boolean): Lambda {\n // ... 'fireImmediately' could also be true?\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor<ISetWillChange<T>>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n toJSON(): T[] {\n return Array.from(this)\n }\n\n toString(): string {\n return \"[object ObservableSet]\"\n }\n\n [Symbol.iterator]() {\n return this.values()\n }\n\n get [Symbol.toStringTag]() {\n return \"Set\"\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet) as (\n thing: any\n) => thing is ObservableSet<any>\n","import {\n CreateObservableOptions,\n getAnnotationFromOptions,\n propagateChanged,\n isAnnotation,\n $mobx,\n Atom,\n Annotation,\n ComputedValue,\n IAtom,\n IComputedValueOptions,\n IEnhancer,\n IInterceptable,\n IListenable,\n Lambda,\n ObservableValue,\n addHiddenProp,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isPlainObject,\n isSpyEnabled,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n startBatch,\n stringifyKey,\n globalState,\n ADD,\n UPDATE,\n die,\n hasProp,\n getDescriptor,\n storedAnnotationsSymbol,\n ownKeys,\n isOverride,\n defineProperty,\n autoAnnotation,\n getAdministration,\n getDebugName,\n objectPrototype,\n MakeResult,\n checkIfStateModificationsAreAllowed\n} from \"../internal\"\n\nconst descriptorCache = Object.create(null)\n\nexport type IObjectDidChange<T = any> = {\n observableKind: \"object\"\n name: PropertyKey\n object: T\n debugObjectName: string\n} & (\n | {\n type: \"add\"\n newValue: any\n }\n | {\n type: \"update\"\n oldValue: any\n newValue: any\n }\n | {\n type: \"remove\"\n oldValue: any\n }\n)\n\nexport type IObjectWillChange<T = any> =\n | {\n object: T\n type: \"update\" | \"add\"\n name: PropertyKey\n newValue: any\n }\n | {\n object: T\n type: \"remove\"\n name: PropertyKey\n }\n\nconst REMOVE = \"remove\"\n\nexport class ObservableObjectAdministration\n implements IInterceptable<IObjectWillChange>, IListenable\n{\n keysAtom_: IAtom\n changeListeners_\n interceptors_\n proxy_: any\n isPlainObject_: boolean\n appliedAnnotations_?: object\n private pendingKeys_: undefined | Map<PropertyKey, ObservableValue<boolean>>\n\n constructor(\n public target_: any,\n public values_ = new Map<PropertyKey, ObservableValue<any> | ComputedValue<any>>(),\n public name_: string,\n // Used anytime annotation is not explicitely provided\n public defaultAnnotation_: Annotation = autoAnnotation\n ) {\n this.keysAtom_ = new Atom(__DEV__ ? `${this.name_}.keys` : \"ObservableObject.keys\")\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_)\n if (__DEV__ && !isAnnotation(this.defaultAnnotation_)) {\n die(`defaultAnnotation must be valid annotation`)\n }\n if (__DEV__) {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {}\n }\n }\n\n getObservablePropValue_(key: PropertyKey): any {\n return this.values_.get(key)!.get()\n }\n\n setObservablePropValue_(key: PropertyKey, newValue): boolean | null {\n const observable = this.values_.get(key)\n if (observable instanceof ComputedValue) {\n observable.set(newValue)\n return true\n }\n\n // intercept\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue\n })\n if (!change) {\n return null\n }\n newValue = (change as any).newValue\n }\n newValue = (observable as any).prepareNewValue_(newValue)\n\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n ;(observable as ObservableValue<any>).setNewValue_(newValue)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n return true\n }\n\n get_(key: PropertyKey): any {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key)\n }\n return this.target_[key]\n }\n\n /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n set_(key: PropertyKey, value: any, proxyTrap: boolean = false): boolean | null {\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value)\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value)\n } else {\n // Non-observable\n this.target_[key] = value\n return true\n }\n } else {\n // New prop\n return this.extend_(\n key,\n { value, enumerable: true, writable: true, configurable: true },\n this.defaultAnnotation_,\n proxyTrap\n )\n }\n }\n\n // Trap for \"in\"\n has_(key: PropertyKey): boolean {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_\n }\n this.pendingKeys_ ||= new Map()\n let entry = this.pendingKeys_.get(key)\n if (!entry) {\n entry = new ObservableValue(\n key in this.target_,\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableObject.key?\",\n false\n )\n this.pendingKeys_.set(key, entry)\n }\n return entry.get()\n }\n\n /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */\n make_(key: PropertyKey, annotation: Annotation | boolean): void {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return\n }\n assertAnnotable(this, annotation, key)\n if (!(key in this.target_)) {\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if (this.target_[storedAnnotationsSymbol]?.[key]) {\n return // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, `${this.name_}.${key.toString()}`)\n }\n }\n let source = this.target_\n while (source && source !== objectPrototype) {\n const descriptor = getDescriptor(source, key)\n if (descriptor) {\n const outcome = annotation.make_(this, key, descriptor, source)\n if (outcome === MakeResult.Cancel) {\n return\n }\n if (outcome === MakeResult.Break) {\n break\n }\n }\n source = Object.getPrototypeOf(source)\n }\n recordAnnotationApplied(this, annotation, key)\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n extend_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n annotation: Annotation | boolean,\n proxyTrap: boolean = false\n ): boolean | null {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap)\n }\n assertAnnotable(this, annotation, key)\n const outcome = annotation.extend_(this, key, descriptor, proxyTrap)\n if (outcome) {\n recordAnnotationApplied(this, annotation, key)\n }\n return outcome\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n defineProperty_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n })\n if (!change) {\n return null\n }\n const { newValue } = change as any\n if (descriptor.value !== newValue) {\n descriptor = {\n ...descriptor,\n value: newValue\n }\n }\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineObservableProperty_(\n key: PropertyKey,\n value: any,\n enhancer: IEnhancer<any>,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n })\n if (!change) {\n return null\n }\n value = (change as any).newValue\n }\n\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n const observable = new ObservableValue(\n value,\n enhancer,\n __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\",\n false\n )\n\n this.values_.set(key, observable)\n\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineComputedProperty_(\n key: PropertyKey,\n options: IComputedValueOptions<any>,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n })\n if (!change) {\n return null\n }\n }\n options.name ||= __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\"\n options.context = this.proxy_ || this.target_\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n this.values_.set(key, new ComputedValue(options))\n\n // Notify\n this.notifyPropertyAddition_(key, undefined)\n } finally {\n endBatch()\n }\n return true\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n delete_(key: PropertyKey, proxyTrap: boolean = false): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true\n }\n\n // Intercept\n if (hasInterceptors(this)) {\n const change = interceptChange<IObjectWillChange>(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n })\n // Cancelled\n if (!change) {\n return null\n }\n }\n\n // Delete\n try {\n startBatch()\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const observable = this.values_.get(key)\n // Value needed for spies/listeners\n let value = undefined\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n value = getDescriptor(this.target_, key)?.value\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false\n }\n } else {\n delete this.target_[key]\n }\n // Allow re-annotating this field\n if (__DEV__) {\n delete this.appliedAnnotations_![key]\n }\n // Clear observable\n if (observable) {\n this.values_.delete(key)\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable)\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n this.pendingKeys_?.get(key)?.set(key in this.target_)\n\n // Notify spies/listeners\n if (notify || notifySpy) {\n const change: IObjectDidChange = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n }\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n } finally {\n endBatch()\n }\n return true\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 observe_(callback: (changes: IObjectDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\")\n }\n return registerListener(this, callback)\n }\n\n intercept_(handler): Lambda {\n return registerInterceptor(this, handler)\n }\n\n notifyPropertyAddition_(key: PropertyKey, value: any) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n if (notify || notifySpy) {\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? ({\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n this.pendingKeys_?.get(key)?.set(true)\n\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n }\n\n ownKeys_(): Array<string | symbol> {\n this.keysAtom_.reportObserved()\n return ownKeys(this.target_)\n }\n\n keys_(): PropertyKey[] {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved()\n return Object.keys(this.target_)\n }\n}\n\nexport interface IIsObservableObject {\n [$mobx]: ObservableObjectAdministration\n}\n\nexport function asObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n if (__DEV__ && options && isObservableObject(target)) {\n die(`Options can't be provided for already observable objects.`)\n }\n\n if (hasProp(target, $mobx)) {\n if (__DEV__ && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\n `Cannot convert '${getDebugName(target)}' into observable object:` +\n `\\nThe target is already observable of different type.` +\n `\\nExtending builtins is not supported.`\n )\n }\n return target\n }\n\n if (__DEV__ && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\")\n }\n\n const name =\n options?.name ??\n (__DEV__\n ? `${\n isPlainObject(target) ? \"ObservableObject\" : target.constructor.name\n }@${getNextId()}`\n : \"ObservableObject\")\n\n const adm = new ObservableObjectAdministration(\n target,\n new Map(),\n String(name),\n getAnnotationFromOptions(options)\n )\n\n addHiddenProp(target, $mobx, adm)\n\n return target\n}\n\nconst isObservableObjectAdministration = createInstanceofPredicate(\n \"ObservableObjectAdministration\",\n ObservableObjectAdministration\n)\n\nfunction getCachedObservablePropDescriptor(key) {\n return (\n descriptorCache[key] ||\n (descriptorCache[key] = {\n get() {\n return this[$mobx].getObservablePropValue_(key)\n },\n set(value) {\n return this[$mobx].setObservablePropValue_(key, value)\n }\n })\n )\n}\n\nexport function isObservableObject(thing: any): boolean {\n if (isObject(thing)) {\n return isObservableObjectAdministration((thing as any)[$mobx])\n }\n return false\n}\n\nexport function recordAnnotationApplied(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n if (__DEV__) {\n adm.appliedAnnotations_![key] = annotation\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n delete adm.target_[storedAnnotationsSymbol]?.[key]\n}\n\nfunction assertAnnotable(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n // Valid annotation\n if (__DEV__ && !isAnnotation(annotation)) {\n die(`Cannot annotate '${adm.name_}.${key.toString()}': Invalid annotation.`)\n }\n\n /*\n // Configurable, not sealed, not frozen\n // Possibly not needed, just a little better error then the one thrown by engine.\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\n if (__DEV__) {\n const configurable = getDescriptor(adm.target_, key)?.configurable\n const frozen = Object.isFrozen(adm.target_)\n const sealed = Object.isSealed(adm.target_)\n if (!configurable || frozen || sealed) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const requestedAnnotationType = annotation.annotationType_\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\n if (frozen) {\n error += `\\nObject is frozen.`\n }\n if (sealed) {\n error += `\\nObject is sealed.`\n }\n if (!configurable) {\n error += `\\nproperty is not configurable.`\n // Mention only if caused by us to avoid confusion\n if (hasProp(adm.appliedAnnotations!, key)) {\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\n }\n }\n die(error)\n }\n }\n */\n\n // Not annotated\n if (__DEV__ && !isOverride(annotation) && hasProp(adm.appliedAnnotations_!, key)) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const currentAnnotationType = adm.appliedAnnotations_![key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already annotated with '${currentAnnotationType}'.` +\n `\\nRe-annotating fields is not allowed.` +\n `\\nUse 'override' annotation for methods overridden by subclass.`\n )\n }\n}\n","import {\n getNextId,\n addHiddenFinalProp,\n makeIterable,\n addHiddenProp,\n ObservableArrayAdministration,\n $mobx,\n arrayExtensions,\n IEnhancer,\n isObservableArray,\n IObservableArray,\n defineProperty,\n initObservable\n} from \"../internal\"\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nconst ENTRY_0 = createArrayEntryDescriptor(0)\n\nconst safariPrototypeSetterInheritanceBug = (() => {\n let v = false\n const p = {}\n Object.defineProperty(p, \"0\", {\n set: () => {\n v = true\n }\n })\n Object.create(p)[\"0\"] = 1\n return v === false\n})()\n\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nlet OBSERVABLE_ARRAY_BUFFER_SIZE = 0\n\n// Typescript workaround to make sure ObservableArray extends Array\nclass StubArray {}\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto)\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto\n } else {\n ctor.prototype = proto\n }\n}\ninherit(StubArray, Array.prototype)\n\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\n\nexport class LegacyObservableArray<T> extends StubArray {\n constructor(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n ) {\n super()\n initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, true)\n adm.proxy_ = this as any\n addHiddenFinalProp(this, $mobx, adm)\n\n if (initialValues && initialValues.length) {\n // @ts-ignore\n this.spliceWithArray(0, 0, initialValues)\n }\n\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter until any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(this, \"0\", ENTRY_0)\n }\n })\n }\n\n concat(...arrays: T[][]): T[] {\n ;(this[$mobx] as ObservableArrayAdministration).atom_.reportObserved()\n return Array.prototype.concat.apply(\n (this as any).slice(),\n //@ts-ignore\n arrays.map(a => (isObservableArray(a) ? a.slice() : a))\n )\n }\n\n get length(): number {\n return (this[$mobx] as ObservableArrayAdministration).getArrayLength_()\n }\n\n set length(newLength: number) {\n ;(this[$mobx] as ObservableArrayAdministration).setArrayLength_(newLength)\n }\n\n get [Symbol.toStringTag]() {\n return \"Array\"\n }\n\n [Symbol.iterator]() {\n const self = this\n let nextIndex = 0\n return makeIterable({\n next() {\n return nextIndex < self.length\n ? { value: self[nextIndex++], done: false }\n : { done: true, value: undefined }\n }\n })\n }\n}\n\nObject.entries(arrayExtensions).forEach(([prop, fn]) => {\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn)\n }\n})\n\nfunction createArrayEntryDescriptor(index: number) {\n return {\n enumerable: false,\n configurable: true,\n get: function () {\n return this[$mobx].get_(index)\n },\n set: function (value) {\n this[$mobx].set_(index, value)\n }\n }\n}\n\nfunction createArrayBufferItem(index: number) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index))\n}\n\nexport function reserveArrayBuffer(max: number) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (let index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index)\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max\n }\n}\n\nreserveArrayBuffer(1000)\n\nexport function createLegacyArray<T>(\n initialValues: T[] | undefined,\n enhancer: IEnhancer<T>,\n name?: string\n): IObservableArray<T> {\n return new LegacyObservableArray(initialValues, enhancer, name) as any\n}\n","import { isAction } from \"../api/action\"\nimport {\n $mobx,\n IDepTreeNode,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n isObservableSet,\n die,\n isFunction,\n allowStateChangesStart,\n untrackedStart,\n allowStateChangesEnd,\n untrackedEnd,\n startBatch,\n endBatch\n} from \"../internal\"\n\nexport function getAtom(thing: any, property?: PropertyKey): IDepTreeNode {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23)\n }\n return (thing as any)[$mobx].atom_\n }\n if (isObservableSet(thing)) {\n return thing.atom_\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_\n }\n const observable = thing.data_.get(property) || thing.hasMap_.get(property)\n if (!observable) {\n die(25, property, getDebugName(thing))\n }\n return observable\n }\n if (property && !thing[$mobx]) {\n thing[property]\n } // See #1072\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26)\n }\n const observable = (thing as any)[$mobx].values_.get(property)\n if (!observable) {\n die(27, property, getDebugName(thing))\n }\n return observable\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx]\n }\n }\n die(28)\n}\n\nexport function getAdministration(thing: any, property?: string) {\n if (!thing) {\n die(29)\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property))\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing\n }\n if (thing[$mobx]) {\n return thing[$mobx]\n }\n die(24, thing)\n}\n\nexport function getDebugName(thing: any, property?: string): string {\n let named\n if (property !== undefined) {\n named = getAtom(thing, property)\n } else if (isAction(thing)) {\n return thing.name\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing)\n } else {\n // valid for arrays as well\n named = getAtom(thing)\n }\n return named.name_\n}\n\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */\nexport function initObservable<T>(cb: () => T): T {\n const derivation = untrackedStart()\n const allowStateChanges = allowStateChangesStart(true)\n startBatch()\n try {\n return cb()\n } finally {\n endBatch()\n allowStateChangesEnd(allowStateChanges)\n untrackedEnd(derivation)\n }\n}\n","import {\n isES6Map,\n isObservableArray,\n isObservableMap,\n isES6Set,\n isObservableSet,\n hasProp,\n isFunction,\n objectPrototype\n} from \"../internal\"\n\ndeclare const Symbol\nconst toString = objectPrototype.toString\n\nexport function deepEqual(a: any, b: any, depth: number = -1): boolean {\n return eq(a, b, depth)\n}\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: any, b: any, depth: number, aStack?: any[], bStack?: any[]) {\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 }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b\n }\n // Exhaust primitive checks\n const type = typeof a\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false\n }\n\n // Compare `[[Class]]` names.\n const className = toString.call(a)\n if (className !== toString.call(b)) {\n return false\n }\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 }\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 (\n typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b)\n )\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\n const areArrays = className === \"[object Array]\"\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false\n }\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n const aCtor = a.constructor,\n bCtor = b.constructor\n if (\n aCtor !== bCtor &&\n !(\n isFunction(aCtor) &&\n aCtor instanceof aCtor &&\n isFunction(bCtor) &&\n bCtor instanceof bCtor\n ) &&\n \"constructor\" in a &&\n \"constructor\" in b\n ) {\n return false\n }\n }\n\n if (depth === 0) {\n return false\n } else if (depth < 0) {\n depth = -1\n }\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\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 let 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 }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a)\n bStack.push(b)\n\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 }\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 const keys = Object.keys(a)\n let key\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 }\n while (length--) {\n // Deep compare each member\n key = keys[length]\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop()\n bStack.pop()\n return true\n}\n\nfunction unwrap(a: any) {\n if (isObservableArray(a)) {\n return a.slice()\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries())\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries())\n }\n return a\n}\n","export function makeIterable<T>(iterator: Iterator<T>): IterableIterator<T> {\n iterator[Symbol.iterator] = getSelf\n return iterator as any\n}\n\nfunction getSelf() {\n return this\n}\n","/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a 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 */\nimport { die } from \"./errors\"\nimport { getGlobal } from \"./utils/global\"\n;[\"Symbol\", \"Map\", \"Set\"].forEach(m => {\n let g = getGlobal()\n if (typeof g[m] === \"undefined\") {\n die(`MobX requires global '${m}' to be available or polyfilled`)\n }\n})\n\nimport { spy, getDebugName, $mobx } from \"./internal\"\n\nexport {\n IObservable,\n IDepTreeNode,\n Reaction,\n IReactionPublic,\n IReactionDisposer,\n untracked,\n IAtom,\n createAtom,\n spy,\n IComputedValue,\n IEqualsComparer,\n comparer,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n IObjectWillChange,\n IObjectDidChange,\n isObservableObject,\n IValueDidChange,\n IValueWillChange,\n IObservableValue,\n isObservableValue as isBoxedObservable,\n IObservableArray,\n IArrayWillChange,\n IArrayWillSplice,\n IArraySplice,\n IArrayUpdate,\n IArrayDidChange,\n isObservableArray,\n IKeyValueMap,\n ObservableMap,\n IMapEntries,\n IMapEntry,\n IMapWillChange,\n IMapDidChange,\n isObservableMap,\n IObservableMapInitialValues,\n ObservableSet,\n isObservableSet,\n ISetDidChange,\n ISetWillChange,\n IObservableSetInitialValues,\n transaction,\n observable,\n IObservableFactory,\n CreateObservableOptions,\n computed,\n IComputedFactory,\n isObservable,\n isObservableProp,\n isComputed,\n isComputedProp,\n extendObservable,\n observe,\n intercept,\n autorun,\n IAutorunOptions,\n reaction,\n IReactionOptions,\n when,\n IWhenOptions,\n action,\n isAction,\n runInAction,\n IActionFactory,\n keys,\n values,\n entries,\n set,\n remove,\n has,\n get,\n apiOwnKeys as ownKeys,\n apiDefineProperty as defineProperty,\n configure,\n onBecomeObserved,\n onBecomeUnobserved,\n flow,\n isFlow,\n flowResult,\n FlowCancellationError,\n isFlowCancellationError,\n toJS,\n trace,\n IObserverTree,\n IDependencyTree,\n getDependencyTree,\n getObserverTree,\n resetGlobalState as _resetGlobalState,\n getGlobalState as _getGlobalState,\n getDebugName,\n getAtom,\n getAdministration as _getAdministration,\n allowStateChanges as _allowStateChanges,\n runInAction as _allowStateChangesInsideComputed, // This has become the default behavior in Mobx 6\n Lambda,\n $mobx,\n isComputingDerivation as _isComputingDerivation,\n onReactionError,\n interceptReads as _interceptReads,\n IComputedValueOptions,\n IActionRunInfo,\n _startAction,\n _endAction,\n allowStateReadsStart as _allowStateReadsStart,\n allowStateReadsEnd as _allowStateReadsEnd,\n makeObservable,\n makeAutoObservable,\n autoAction as _autoAction,\n AnnotationsMap,\n AnnotationMapEntry,\n override\n} from \"./internal\"\n\n// Devtools support\ndeclare const __MOBX_DEVTOOLS_GLOBAL_HOOK__: { injectMobx: (any) => void }\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy,\n extras: {\n getDebugName\n },\n $mobx\n })\n}\n","/**\n * @license React\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){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;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(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(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(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 jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(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\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=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(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===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\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(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 Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(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 Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(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(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!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<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=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=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();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=Xa(a.document)}return b}function Ne(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)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;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}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)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=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(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||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))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}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\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(p(311));c.lastRenderedReducer=a;var d=N,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){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(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);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.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}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(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 qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(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 hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'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 * @license React\n * react-jsx-runtime.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'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'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","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.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'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.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(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":["abs","Math","String","fromCharCode","Object","assign","trim","value","pattern","replacement","replace","indexof","search","indexOf","index","charCodeAt","begin","end","slice","length","array","push","line","column","position","character","characters","node","root","parent","type","props","children","return","prev","next","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","COMMENT","callback","output","i","stringify","element","join","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","k","x","y","z","identifierWithPointTracking","fixedElements","WeakMap","compat","isImplicitRule","get","set","parsed","toRules","getRules","parentRules","removeLabel","hash","defaultStylisPlugins","map","exec","createCache","options","key","ssrStyles","document","querySelectorAll","Array","prototype","forEach","call","getAttribute","head","appendChild","setAttribute","container","_insert","stylisPlugins","inserted","nodesToHydrate","attrib","split","currentSheet","collection","finalizingPlugins","insert","serializer","concat","selector","serialized","sheet","shouldCache","styles","cache","name","nonce","speedy","prepend","insertionPoint","registered","hydrate","memoize","fn","create","arg","undefined","EmotionCacheContext","HTMLElement","CacheProvider","Provider","__unsafe_useEmotionCache","useContext","withEmotionCache","func","forwardRef","ref","ThemeContext","Global","w","T","sheetRef","constructor","isSpeedy","rehydrating","querySelector","tags","before","current","flush","sheetRefCurrent","nextElementSibling","css","_len","arguments","args","_key","keyframes","insertable","apply","anim","toString","this","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","isDevelopment","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","toLowerCase","processStyleValue","match","p1","p2","cursor","noComponentSelectorMessage","handleInterpolation","mergedProps","interpolation","componentSelector","__emotion_styles","serializedStyles","obj","string","isArray","asString","Error","interpolated","_i","createStringFromObject","previousCursor","result","cached","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","str","h","len","StyleSheet","_this","_insertTag","tag","nextSibling","firstChild","insertBefore","ctr","_proto","nodes","createElement","createTextNode","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","e","_tag$parentNode","parentNode","removeChild","useInsertionEffect","useInsertionEffectAlwaysWithSyncFallback","useInsertionEffectWithLayoutFallback","getRegisteredStyles","registeredStyles","classNames","rawClassName","className","registerStyles","isStringTag","insertStyles","isDynamicSupport","html","theme","enableColorScheme","WebkitFontSmoothing","MozOsxFontSmoothing","boxSizing","WebkitTextSizeAdjust","vars","colorScheme","palette","mode","body","color","text","primary","typography","body1","backgroundColor","background","default","common","white","colorSchemeStyles","colorSchemes","getColorSchemeSelector","entries","scheme","startsWith","defaultStyles","fontWeightBold","margin","themeOverrides","components","MuiCssBaseline","styleOverrides","SELECTOR","baseStyles","staticStyles","useDefaultProps","params","A100","A200","A400","A700","defaultDarkOverlays","_","overlay","getOpacity","inputPlaceholder","inputUnderline","switchTrackDisabled","switchTrack","getOverlays","createColorScheme","paletteInput","overlays","rest","createMixins","breakpoints","mixins","toolbar","minHeight","up","black","light","secondary","disabled","divider","paper","action","active","hover","hoverOpacity","selected","selectedOpacity","disabledBackground","disabledOpacity","focus","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","direction","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","hasOwnProperty","main","createPalette","contrastThreshold","other","blue","getDefaultPrimary","getDefaultSecondary","error","red","getDefaultError","info","getDefaultInfo","success","green","getDefaultSuccess","warning","orange","getDefaultWarning","getContrastText","augmentColor","mainShade","lightShade","darkShade","JSON","contrastText","modes","deepmerge","grey","attachColorScheme","createTheme","cssVariables","initialColorSchemes","defaultColorScheme","initialDefaultColorScheme","defaultColorSchemeInput","defaultScheme","colorSchemesInput","paletteOptions","createShadow","px","mobileStepper","fab","speedDial","appBar","drawer","modal","snackbar","tooltip","createThemeNoVars","breakpointsInput","mixinsInput","spacing","spacingInput","transitions","transitionsInput","typographyInput","shape","shapeInput","systemTheme","muiTheme","shadows","createTypography","createTransitions","reduce","acc","argument","unstable_sxConfig","defaultSxConfig","unstable_sx","styleFunctionSx","sx","createMuiTheme","createGetCssVar","prefix","appendVar","field","fallbacks","prepareTypographyVars","entry","fontStyle","fontVariant","fontStretch","fontSize","fontFamily","assignNestedKeys","keys","arrayKeys","temp","Number","includes","cssVarsParser","shouldSkipGeneratingVar","varsWithDefaults","shouldSkipPaths","cssVar","resolvedValue","some","prop","getCssValue","recurse","object","parentKeys","parserConfig","getSelector","defaultGetSelector","disableCssColorScheme","colorSchemeSelector","otherTheme","rootVars","rootCss","rootVarsWithDefaults","themeVars","colorSchemesMap","otherColorSchemes","cssObject","generateThemeVars","schemeVars","generateStyleSheets","stylesheets","insertStyleSheet","defaultSchemeVal","cssColorSheme","finalCss","excludedVariables","excludeVariablesFromRoot","cssVarPrefix","stringifyTheme","baseTheme","serializableTheme","serializeTheme","val","setColor","defaultValue","toRgb","setColorChannel","silent","restTheme","createThemeWithVars","input","firstColorScheme","getCssVar","defaultSchemeInput","builtInLight","builtInDark","customColorSchemes","font","setCssVarColor","tokens","colorToken","Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","snackbarContentBackground","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip","colors","generateSpacing","createSpacing","createGetColorSchemeSelector","toRuntimeSource","easing","easeInOut","easeOut","easeIn","sharp","duration","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","round","getAutoHeightDuration","height","constant","min","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","delay","animatedProp","caseAllCaps","textTransform","defaultFontFamily","fontWeightLight","fontWeightRegular","fontWeightMedium","htmlFontSize","allVariants","pxToRem","pxToRem2","coef","buildVariant","letterSpacing","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body2","button","caption","overline","inherit","clone","getOverlayAlpha","elevation","alphaValue","log","themeId","defaultTheme","rootShouldForwardProp","createSimplePaletteValueFilter","additionalPropertiesToCheck","hasCorrectMainProperty","checkSimplePaletteColorValues","memoTheme","styleFn","lastValue","lastTheme","reactPropsRegex","isPropValid","test","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","Insertion","_ref","newStyled","createStyled","targetClassName","__emotion_real","baseTag","__emotion_base","label","target","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","as","classInterpolations","finalShouldForwardProp","newProps","displayName","defaultProps","defineProperty","withComponent","nextTag","nextOptions","bind","styled","tagName","internal_processStyles","processor","PropsContext","config","getThemeProps","values","xs","sm","md","lg","xl","defaultBreakpoints","defaultContainerQueries","containerQueries","containerName","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","item","breakpoint","containerKey","cssKey","createEmptyBreakpointObject","breakpointsInOrder","removeUnusedBreakpoints","breakpointKeys","style","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","resolveBreakpointValues","breakpointValues","base","customBase","breakpointsKeys","computeBreakpointsBase","clampWrapper","max","hexToRgb","re","RegExp","n","parseInt","decomposeColor","charAt","marker","substring","colorSpace","shift","parseFloat","private_safeColorChannel","decomposedColor","idx","colorChannel","recomposeColor","rgbToHex","int","hex","intToHex","hslToRgb","s","l","a","f","rgb","getLuminance","toFixed","getContrastRatio","foreground","lumA","lumB","alpha","private_safeAlpha","darken","coefficient","private_safeDarken","lighten","private_safeLighten","emphasize","private_safeEmphasize","sortBreakpointsValues","breakpointsAsArray","sort","breakpoint1","breakpoint2","createBreakpoints","unit","step","sortedValues","down","between","start","endIndex","only","not","keyIndex","systemDefaultTheme","resolveTheme","isObjectEmpty","PROCESSED_PROPS","Symbol","attachTheme","processedProps","defaultOverridesResolver","slot","_props","processStyle","resolvedStyle","flatMap","subStyle","otherStyles","mergedState","variantLoop","variant","ownerState","slotShouldForwardProp","systemSx","__mui_systemSx","inputOptions","filter","componentName","componentSlot","skipVariantsResolver","inputSkipVariantsResolver","skipSx","inputSkipSx","overridesResolver","lowercaseFirstLetter","shouldForwardPropOption","defaultStyledResolver","transformStyleArg","muiStyledResolver","expressions","transformedStyle","expressionsWithDefaultTheme","resolvedStyleOverrides","propsWithTheme","slotKey","themeVariants","numOfCustomFnsApplied","placeholders","fill","Component","muiName","withConfig","transform","mui","argsInput","borderRadius","applyStyles","cssContainerQueries","sortContainerQueries","sorted","b","regex","isCqShorthand","getContainerQuery","shorthand","matches","containerQuery","isNaN","themeInput","toContainerQuery","mediaQuery","attachCq","properties","m","p","directions","t","r","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","dir","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","themeKey","themeSpacing","transformed","createUnarySpacing","getValue","transformer","cssProperties","cssProperty","getStyleFromPropValue","resolveCssProperty","merge","padding","propTypes","filterProps","getPath","path","checkVars","getStyleValue","themeMapping","propValueFinal","userValue","handlers","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","gap","columnGap","rowGap","paletteTransform","sizingTransform","width","maxWidth","minWidth","maxHeight","bgcolor","pt","pr","pb","pl","py","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd","mt","mr","mb","ml","mx","my","marginTop","marginRight","marginBottom","marginLeft","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","displayPrint","display","overflow","textOverflow","visibility","whiteSpace","flexBasis","flexDirection","flexWrap","justifyContent","alignItems","alignContent","alignSelf","justifyItems","justifySelf","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","top","right","bottom","left","boxShadow","textAlign","getThemeValue","traverse","sxInput","sxObject","styleKey","maybeFn","breakpointsValues","objects","allKeys","union","Set","every","objectsHaveSameKeys","unstable_createStyleFunctionSx","defaultGenerator","generate","configure","generator","reset","createClassNameGenerator","capitalize","toUpperCase","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","composeClasses","slots","getUtilityClass","classes","slotName","buffer","isPlainObject","getPrototypeOf","toStringTag","iterator","deepClone","source","formatMuiErrorMessage","code","url","encodeURIComponent","globalStateClasses","checked","completed","expanded","focused","focusVisible","open","readOnly","required","generateUtilityClass","globalStatePrefix","globalStateClass","generateUtilityClasses","resolveProps","defaultSlotProps","slotProps","slotPropName","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","defaultArrayMerge","getKeys","getOwnPropertySymbols","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","arrayMerge","sourceIsArray","destination","propertyIsUnsafe","customMerge","getMergeFunction","mergeObject","all","deepmerge_1","module","exports","getMessage","message","RemoteFile","getBufferFromResponse","response","resp","arrayBuffer","from","opts","baseOverrides","fetch","globalThis","TypeError","overrides","fetchImplementation","init","cause","console","warn","read","headers","signal","Infinity","range","res","method","redirect","ok","status","resData","bytesCopied","copy","contentRange","sizeMatch","_stat","bytesRead","readFile","encoding","stat","buf","allocUnsafe","close","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","c","d","g","q","v","u","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","hasSymbol","isFunctionNameConfigurable","configurable","ReactForwardRefSymbol","ReactMemoSymbol","memo","observer","baseComponent","useForwardRef","baseComponentName","observerComponent","writable","hoistBlackList","Hook","livelinessChecking","setLivelinessChecking","getLivelinessChecking","setLivelynessChecking","extendStatics","setPrototypeOf","__proto__","__extends","__","__assign","__generator","thisArg","sent","trys","ops","verb","op","done","pop","__values","o","__read","ar","__spread","getType","assertIsStateTreeNode","getStateTreeNode","getChildType","propertyName","onPatch","assertIsFunction","onSnapshot","applyPatch","patch","assertArg","applyPatches","asArray","recordPatches","subject","disposer","data","patches","inversePatches","publicData","recorder","recording","reversedInversePatches","reverse","stop","resume","inversePatch","getRunningActionContext","replay","undo","protect","isRoot","fail","isProtectionEnabled","unprotect","isProtected","applySnapshot","snapshot","getSnapshot","applyPostProcess","hasParent","depth","assertIsNumber","getParent","storedValue","hasParentOfType","assertIsType","is","getParentOfType","getRoot","getPathParts","splitJsonPath","resolvePath","assertIsString","resolveNodeByPath","resolveIdentifier","identifierCache","resolve","normalizeIdentifier","getIdentifier","tryReference","getter","checkIfAlive","isStateTreeNode","isAlive","InvalidReferenceError","isValidReference","tryResolve","getRelativePath","getRelativePathBetweenNodes","keepEnvironment","environment","detach","destroy","die","subpath","observableIsAlive","addDisposer","getEnv","EMPTY_OBJECT","walk","getChildren","child","getPropertyMembers","typeOrNode","getMembers","reflected","actions","volatile","views","flowActions","isComputedProp","_isFlowAction","_isMSTAction","isObservableProp","cast","snapshotOrInstance","castToSnapshot","castToReferenceSnapshot","instance","getNodeId","nodeId","BaseNode","enumerable","NodeLifeCycle","INITIALIZING","baseSetParent","_subpath","_subpathUponDeath","_pathUponDeath","_state","wasAlive","aliveAtom","reportChanged","_hookSubscribers","emit","hook","hookHandler","EventHandlers","register","_parent","_escapedSubpath","pathAtom","getEscapedPath","reportObserved","createAtom","escapeJsonPath","state","DEAD","DETACHING","whenFinalized","CREATED","FINALIZED","fireHook","afterAttach","clearAll","beforeDestroy","ScalarNode","_super","simpleType","initialSnapshot","createNewInstance","finalizeCreation","newParent","parentChanged","subpathChanged","pathUponDeath","aboutToDie","finalizeDeath","baseFinalizeCreation","baseAboutToDie","baseFinalizeDeath","fireInternalHook","_a","TypeFlags","nextNodeId","snapshotReactionOptions","onError","ObjectNode","complexType","initialValue","_snapshotComputed","computed","unbox","_initialSnapshot","identifierAttribute","IdentifierCache","_childNodes","initializeChildNodes","unnormalizedIdentifier","id","childNode","addNodeToCache","createObservableInstanceIfNeeded","_applyPatches","_applySnapshot","fireHooks","_observableInstanceState","createObservableInstance","e_1","e_2","_b","parentChain","unshift","parentChain_1","parentChain_1_1","e_1_1","preboot","_isRunningAction","finalizeNewInstance","trackAndCompute","_addSnapshotReaction","afterCreate","_c","_d","e_2_1","beforeDetach","previousState","newEnv","newIdCache","splitCache","mergeCache","_allowStateChangesInsideComputed","hasSnapshotPostProcessor","_getActualSnapshot","_getCachedInitialSnapshot","_snapshotUponDeath","_cachedInitialSnapshotCreated","childNodes","_cachedInitialSnapshot","processInitialSnapshot","isRunningAction","context","msg","_getAssertAliveError","escapedPath","actionContext","getCurrentActionContext","parentActionEvent","actionFullPath","assertAlive","_autoUnbox","getChildNode","convertChildNodesToArray","subpathUponDeath","e_3","e_3_1","afterCreationFinalization","clearParent","self","createActionInvoker","parts","resolveNodeByPathParts","applyPatchLocally","addHiddenFinalProp","toJSON","_internalEventsEmit","_internalEventsClear","notifyDied","_internalEventsClearAll","onChange","_internalEventsRegister","handler","basePatch","_internalEventsHasSubscribers","localizedPatch","extend","substr","stripPatch","invertPatch","splitPatch","reversePatch","emitPatch","_internalEventsHas","hasDisposer","_internalEventsUnregister","middleware","middlewares","splice","includeHooks","removeMiddleware","assertWritable","_hasSnapshotReaction","snapshotDisposer","reaction","emitSnapshot","event","_internalEvents","hasSubscribers","eventHandler","atTheBeginning","has","unregister","clear","cannotDetermineSubtype","$type","BaseType","typecheckInternal","instantiate","getStateTreeNodeSafe","valueType","isAssignableFrom","typeCheckSuccess","typeCheckFailure","isValidSnapshot","thing","validate","ComplexType","getDefaultSnapshot","newValue","isDetaching","isMutable","isMatchingSnapshotId","tryToReconcileNode","setParent","newNode","SimpleType","isType","argNumber","runningActions","Map","createActionTrackingMiddleware","hooks","abort","onStart","onResume","async","onSuspend","delete","onSuccess","onFail","rootId","RunningAction","running","onFinish","flowsPending","createActionTrackingMiddleware2","middlewareHooks","parentRunningAction","newCall","env","parentCall","passesFilter","runningAction","finish","hasFlowsPending","incFlowsPending","decFlowsPending","serializeTheUnserializable","baseType","$MST_UNSERIALIZABLE","applyAction","runInAction","resolvedTarget","Date","baseApplyAction","recordActions","listener","onAction","attachAfter","addMiddleware","rawCall","sourceNode_1","actionName","$MST_DATE","getTime","isPrimitive","serializeArgument","currentActionContext","nextActionId","getNextActionId","runWithActionContext","baseIsRunningAction","previousContext","baseCall","originalFn","CollectedMiddlewares","isEmpty","runNextMiddleware","getNextMiddleware","call2","runMiddleWares","getParentActionContext","parentContext","parentActionContext","argsToArray","tree","parentId","allParentIds","parentEvent","addMiddleWare","decorate","$mst_middleware","arrayIndex","inArrayIndex","_isActionContextThisOrChildOf","sameOrParent","includeSame","isActionContextChildOf","isActionContextThisOrChildOf","parentOrThis","prettyPrintValue","safeStringify","toErrorString","fullPath","pathPrefix","currentTypename","isSnapshotCompatible","isPrimitiveType","describe","getContextForPath","EMPTY_ARRAY","flattenTypeErrors","errors","process","typecheck","valueInString","validationErrorsToString","identifierCacheId","observable","lcm","lastCacheModificationPerId","modificationId","cacheId","lastCacheUpdate","mobxShallow","updateLastCacheModificationPerId","remove","splitNode","newCache","basePath","modified","candidate","createObjectNode","existingNode","createScalarNode","$treenode","doubleDot","baseParts","targetParts","joinJsonPath","failIfResolveFails","pathParts","part","DEPRECATION_MESSAGE","process$1","asyncAction","deprecated","flow","plainObjectString","freeze","_getGlobalState","useProxies","deep","proxy","identity","isInteger","isObservableArray","proto","includeDate","isSerializable","isObservableObject","EventHandler","eventHandlers","stringStartsWith","beginning","typeName","canBeEmpty","setImmediateWithFallback","queueMicrotask","setImmediate","setTimeout","spawner","runId","contextBase","wrap","Promise","reject","gen","onFulfilled","ret","cancelError","throw","onRejected","err","then","createFlowSpawner","castFlowReturn","toGeneratorFunction","toGenerator","oldValue","unescapeJsonPath","getPathStr","ids","MapIdentifierMode","$preProcessorFailed","SnapshotProcessor","_subtype","_processors","flags","sn","preProcessor","preProcessSnapshot","postProcessor","nodeType","snapshotProcessorType","methods","methods_1","methods_1_1","proxyNodeTypeMethods","oldGetSnapshot","postProcessSnapshot","isUnionType","getReconciliationType","processedInitialValue","_fixNode","reconcile","processedSn","preProcessSnapshotSafe","needsIdentifierError","tryCollectModelTypes","modelTypes","subtypes","getSubTypes","subtypesArray","subtypesArray_1","subtypesArray_1_1","ModelType","MSTMap","initialData","enhancer","mapNode","mapType","identifierMode","YES","mapIdentifierAttribute","isValidIdentifier","put","ObservableMap","MapType","_subType","hookInitializers","UNKNOWN","_determineIdentifierMode","NO","objNode","subType","_interceptReads","initializer","actionInvoker","intercept","willChange","observe","didChange","change","processIdentifier","expected","processed","oldSnapshot","currentKeys","isMapType","ArrayType","_getAdministration","dehancer","updatedNodes","reconcileArrayChildren","index_1","removedCount","added","addedNodes","removed","addedCount","childType","oldNodes","newValues","newPaths","nothingChanged","hasNewNode","oldNode","newPath","areSame","valueAsNode","oldMatch","getNewNode","oldNodeType","isArrayType","PRE_PROCESS_SNAPSHOT","POST_PROCESS_SNAPSHOT","objectTypeToString","defaultObjectOptions","initializers","declaredProps","keysList","alreadySeenKeys","cloneAndEnhance","currentPreprocessor","currentPostprocessor","add","optional","number","boolean","DatePrimitive","getPrimitiveFactoryFromValue","propertyNames","_getIdentifierAttribute","forAllProps","propType","Identifier","instantiateActions","action2","baseAction","specializedAction_1","boundAction","instantiateVolatileState","__rest","instantiateViews","makeObservable","applySnapshotPreProcessor","chg","oldChildValue","adm","getAtom","applySnapshotPostProcessor","preProcessedSnapshot","isModelType","CoreType","checker","integer","Integer","float","Float","finite","Finite","isFinite","Boolean","nullType","Null","undefinedType","Undefined","_DatePrimitive","Literal","literal","isLiteralType","Refinement","_predicate","_message","subtypeErrors","isRefinementType","Union","_types","eager","dispatcher","_dispatcher","_eager","factory","determineType","reconcileCurrentType","find","allErrors","applicableTypes","optionsOrType","otherTypes","types","OptionalValue","_defaultValue","optionalValues","Optional","defaultInstanceOrSnapshot","getDefaultInstanceOrSnapshot","defaultValueOrFunction","checkOptionalPreconditions","undefinedAsOptionalValues","isOptionalType","optionalUndefinedType","optionalNullType","maybe","Late","_definition","mustSucceed","ReferenceError","getSubType","isLateType","when","pendingNodeList","shouldLoadPredicate","loadType","loadedType","Frozen","untypedFrozenInstance","isFrozenType","StoredReference","targetType","targetNode","normalizedId","lastCacheModification","getLastCacheModificationPerId","resolvedReference","updateResolvedReference","BaseReferenceType","onInvalidated","Reference","storedRefNode","referenceId","refTargetNode","storedRefParentNode","storedRefParentValue","invalidTarget","invalidId","replaceRef","newRef","removeRef","refTargetValue","refTargetNodeHook","getInvalidationCause","fireInvalidated","refTargetDetachHookDisposer","registerHook","refTargetDestroyHookDisposer","customGetSet","onRefTargetDestroyedHookDisposer","startWatching","sync","addTargetNodeWatcher","IdentifierReferenceType","storedRef","watchTargetNodeForInvalidations","compareByValue","CustomReferenceType","newIdentifier","getSetOptions","isReferenceType","BaseIdentifierType","validType","IdentifierType","IdentifierNumberType","identifierNumber","isIdentifierType","CustomType","Custom","isTargetType","typeError","getValidationMessage","toSnapshot","fromSnapshot","isSnapshot","valueToStore","enumeration","realOptions","option","model","compose","hasTypename","cur","named","custom","safeReference","refType","ev","acceptsUndefined","maybeNull","refinement","predicate","subtype","frozen","late","nameOrType","maybeType","lazy","null","snapshotProcessor","processors","mockGlobal","getGlobal","window","global","getDescriptor","hasProxy","Proxy","assertProxies","once","invoked","noop","isFunction","isStringish","isObject","protoConstructor","isGenerator","addHiddenProp","createInstanceofPredicate","theClass","isES6Map","isES6Set","hasGetOwnPropertySymbols","ownKeys","Reflect","toPrimitive","hasProp","getOwnPropertyDescriptors","getFlag","mask","setFlag","storedAnnotationsSymbol","createDecoratorAnnotation","annotation","is20223Decorator","decorate_20223_","storeAnnotation","_extends","annotationType_","OVERRIDE","isOverride","$mobx","Atom","name_","flags_","observers_","lastAccessedBy_","lowestObserverState_","IDerivationState_","NOT_TRACKING_","onBOL","onBUOL","onBO","onBUO","startBatch","propagateChanged","endBatch","_createClass","isBeingObservedMask_","isPendingUnobservationMask_","diffValueMask_","isAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","atom","onBecomeObserved","onBecomeUnobserved","comparer","structural","deepEqual","shallow","deepEnhancer","isObservable","isAction","isFlow","autoAction","referenceEnhancer","override","make_","extend_","proxyTrap","desc","createActionAnnotation","options_","_this$options_","bound","target_","actionDescriptor","createActionDescriptor","defineProperty_","mthd","kind","addInitializer","ann","_this$options_2","_ann$options_$name","_ann$options_","_ann$options_$autoAct","_ann$options_2","createAction","isMobxAction","safeDescriptors","_ref2","globalState","_adm$proxy_","_annotation$options_","proxy_","_annotation$options_$","_annotation$options_2","_annotation$options_$2","_annotation$options_3","_annotation$options_4","_adm$proxy_2","isPlainObject_","createFlowAnnotation","flowDescriptor","createFlowDescriptor","_this$options_3","isMobXFlow","createComputedAnnotation","defineComputedProperty_","asObservableObject","values_","ComputedValue","getObservablePropValue_","createObservableAnnotation","defineObservableProperty_","_this$options_$enhanc","initializedObjects","WeakSet","initializeObservable","ObservableValue","_ann$options_$enhance","setObservablePropValue_","AUTO","autoAnnotation","createAutoAnnotation","autoBind","observableAnnotation","_this$options_4","_this$options_5","_this$options_6","defaultCreateObservableOptions","defaultDecorator","asCreateObservableOptions","observableRefAnnotation","observableShallowAnnotation","isObservableMap","isObservableSet","observableStructAnnotation","observableDecoratorAnnotation","getEnhancerFromOptions","createObservable","arg2","arg3","box","equals","initialValues","createLegacyArray","createObservableArray","ObservableSet","decorators","initObservable","extendObservable","_target$$mobx$proxy_","_target$$mobx","objectProxyTraps","asDynamicObservableObject","struct","COMPUTED","computedAnnotation","computedStructAnnotation","arg1","currentActionId","_getDescriptor$config","_getDescriptor","tmpNameDescriptor","executeAction","canRunAsDerivation","scope","runInfo","_startAction","error_","_endAction","prevDerivation_","trackingDerivation","runAsAction","prevAllowStateChanges_","allowStateChanges","untrackedStart","allowStateChangesStart","runAsAction_","prevAllowStateReads_","allowStateReadsStart","notifySpy_","startTime_","actionId_","parentActionId_","suppressReactionErrors","allowStateChangesEnd","allowStateReadsEnd","untrackedEnd","_Atom","notifySpy","hasUnreportedChange_","interceptors_","changeListeners_","value_","_inheritsLoose","dehanceValue","prepareNewValue_","UNCHANGED","setNewValue_","hasInterceptors","interceptChange","UPDATE","hasListeners","notifyListeners","intercept_","registerInterceptor","observe_","fireImmediately","observableKind","debugObjectName","registerListener","valueOf","isObservableValue","dependenciesState_","observing_","newObserving_","runId_","UP_TO_DATE_","unboundDepsCount_","CaughtException","triggeredBy_","derivation","setter_","isTracing_","TraceMode","NONE","scope_","equals_","requiresReaction_","keepAlive_","compareStructural","requiresReaction","keepAlive","onBecomeStale_","POSSIBLY_STALE_","propagateMaybeChanged","isComputing","inBatch","shouldCompute","prevTrackingContext","trackingContext","STALE_","propagateChangeConfirmed","warnAboutUntrackedRead_","computeValue_","isCaughtException","isRunningSetter","wasSuspended","changed","track","trackDerivedFunction","disableErrorBoundaries","suspend_","clearObserving","firstTime","prevValue","autorun","prevU","isComputingMask_","isRunningSetterMask_","isComputedValue","prevAllowStateReads","prevUntracked","obs","changeDependenciesStateTo0","isComputingDerivation","prevTracking","prevObserving","observing","lowestNewObservingDerivationState","i0","dep","diffValue","removeObserver","addObserver","bindDependencies","untracked","allowStateReads","persistentKeys","MobXGlobals","version","mobxGuid","pendingUnobservations","pendingReactions","isRunningReactions","enforceActions","spyListeners","globalReactionErrorHandlers","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","verifyProxies","canMergeGlobalState","isolateCalled","__mobxInstanceCount","__mobxGlobals","getGlobalState","resetGlobalState","defaultGlobals","queueForUnobservation","isPendingUnobservation","runReactions","list","isBeingObserved","Reaction","onInvalidate_","errorHandler_","requiresObservable_","schedule_","isScheduled","runReaction_","isDisposed","isTrackPending","reportExceptionInDerivation_","isRunning","prevReaction","dispose","getDisposer_","abortSignal","_this2","removeEventListener","addEventListener","trace","enterBreakPoint","isDisposedMask_","isScheduledMask_","isTrackPendingMask_","isRunningMask_","onReactionError","MAX_REACTION_ITERATIONS","reactionScheduler","runReactionsHelper","allReactions","iterations","remainingReactions","isReaction","spy","ACTION","AUTOACTION","DEFAULT_ACTION_NAME","actionAnnotation","actionBoundAnnotation","autoActionAnnotation","autoActionBoundAnnotation","createActionFactory","view","_opts$name","_opts","scheduler","createSchedulerFromOptions","reactionRunner","requiresObservable","_opts2","aborted","_opts3","run","expression","effect","errorHandler","baseFn","_opts$name2","effectAction","runSync","nextValue","_opts4","_opts5","ON_BECOME_OBSERVED","ON_BECOME_UNOBSERVED","interceptHook","cb","listenersKey","hookListeners","NEVER","ALWAYS","OBSERVED","isolateGlobalState","baseScheduler","ea","annotations","descriptors","getDependencyTree","nodeToDependencyTree","dependencies","getObserverTree","nodeToObserverTree","hasObservers","observers","getObservers","generatorId","FlowCancellationError","isFlowCancellationError","flowAnnotation","flowBoundAnnotation","rejector","pendingPromise","promise","stepId","cancel","cancelPromise","yieldedPromise","flowResult","interceptReads","propOrHandler","getAdministration","interceptProperty","interceptInterceptable","_isComputed","isComputed","_isObservable","keys_","set_","delete_","has_","get_","apiDefineProperty","apiOwnKeys","ownKeys_","propOrCb","cbOrFire","observeObservableProperty","observeObservable","toJSHelper","__alreadySeen","toJS","transaction","_opts$signal","_when","_opts$signal2","_opts$signal3","whenPromise","timeoutHandle","timeout","clearTimeout","getAdm","_getAdm$set_","deleteProperty","_getAdm$delete_","_getAdm$definePropert","preventExtensions","interceptable","interceptors","listenable","listeners","collectStoredAnnotations","keysSymbol","makeAutoObservable","SPLICE","arrayTraps","getArrayLength_","arrayExtensions","setArrayLength_","ObservableArrayAdministration","owned_","legacyMode_","atom_","enhancer_","lastKnownLength_","newV","oldV","dehanceValue_","dehanceValues_","newLength","currentLength","newItems","spliceWithArray_","updateArrayLength_","oldLength","delta","reserveArrayBuffer","deleteCount","lengthDelta","spliceItemsIntoValues_","notifyArraySplice_","_this$values_","oldItems","notifyArrayChildUpdate_","notify","owned","spliceWithArray","_len2","items","_key2","_len3","_key3","addArrayExtension","funcName","funcFactory","simpleFunc","dehancedValues","mapLikeFunc","reduceLikeFunc","accumulator","currentValue","_this3","isObservableArrayAdministration","ObservableMapMarker","ADD","DELETE","data_","hasMap_","keysAtom_","newEntry","hasKey","updateValue_","addValue_","_this3$hasMap_$get","_this4","_this4$hasMap_$get","makeIterable","_keys$next","_keys$next2","_step","_iterator","_createForOfIteratorHelperLoose","_step$value","mapProto","objectProto","symbols","getPlainObjectKeys","_this5","_step2","_iterator2","_this6","_step3","replacementMap","dataStructure","convertToMap","orderedData","keysReportChangedCalled","_iterator3","_this7","_step4","_iterator4","_step4$value","keyExisted","iter1","iter2","next1","next2","ObservableSetMarker","callbackFn","nextIndex","observableValues","intersection","otherSet","difference","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom","descriptorCache","REMOVE","ObservableObjectAdministration","defaultAnnotation_","appliedAnnotations_","pendingKeys_","_this$target_$storedA","outcome","recordAnnotationApplied","deleteOutcome","notifyPropertyAddition_","cachedDescriptor","getCachedObservablePropDescriptor","_this$pendingKeys_","_this$pendingKeys_2","_options$name","_options$defaultDecor","getAnnotationFromOptions","isObservableObjectAdministration","_adm$target_$storedAn","ctor","ENTRY_0","createArrayEntryDescriptor","safariPrototypeSetterInheritanceBug","OBSERVABLE_ARRAY_BUFFER_SIZE","StubArray","LegacyObservableArray","_StubArray","arrays","createArrayBufferItem","getDebugName","eq","aStack","bStack","unwrap","areArrays","aCtor","bCtor","getSelf","__MOBX_DEVTOOLS_GLOBAL_HOOK__","injectMobx","extras","aa","ca","da","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","removeAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","Na","Oa","prepareStackTrace","construct","Pa","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","nb","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","lineClamp","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","now","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","location","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","tel","time","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","D","of","pf","qf","rf","random","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_owner","_stringRef","refs","Mg","Ng","Og","Pg","Qg","Rg","implementation","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","nl","ol","rl","ql","unmount","unstable_scheduleHydration","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","toArray","PureComponent","act","cloneElement","createContext","_currentValue2","_threadCount","Consumer","_globalName","createFactory","createRef","isValidElement","startTransition","unstable_act","sortIndex","performance","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback"],"sourceRoot":""}