@json-to-office/jto 0.3.0 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/client/assets/HomePage-9ryiIVJl.js +99 -0
  3. package/dist/client/assets/HomePage-9ryiIVJl.js.map +1 -0
  4. package/dist/client/assets/JsonEditorPage-BO0AtnI3.js +3 -0
  5. package/dist/client/assets/{JsonEditorPage-DKor0I6f.js.map → JsonEditorPage-BO0AtnI3.js.map} +1 -1
  6. package/dist/client/assets/MonacoPluginProvider-BE7Xjhup.js +3 -0
  7. package/dist/client/assets/{MonacoPluginProvider-BGYshg9R.js.map → MonacoPluginProvider-BE7Xjhup.js.map} +1 -1
  8. package/dist/client/assets/NotFoundPage-SV9cseZ6.js +2 -0
  9. package/dist/client/assets/{NotFoundPage-ILCklaD-.js.map → NotFoundPage-SV9cseZ6.js.map} +1 -1
  10. package/dist/client/assets/button-DghEEchK.js +2 -0
  11. package/dist/client/assets/{button-BzUKH2aN.js.map → button-DghEEchK.js.map} +1 -1
  12. package/dist/client/assets/{docx-preview-DkKCgwb-.js → docx-preview-DQa8jhzH.js} +3 -3
  13. package/dist/client/assets/{docx-preview-DkKCgwb-.js.map → docx-preview-DQa8jhzH.js.map} +1 -1
  14. package/dist/client/assets/{editor-BS2qlF-X.js → editor-BxyYhgT1.js} +2 -2
  15. package/dist/client/assets/{editor-BS2qlF-X.js.map → editor-BxyYhgT1.js.map} +1 -1
  16. package/dist/client/assets/{editor-monaco-json-DKrX3IiN.js → editor-monaco-json-PlUCgtCX.js} +3 -3
  17. package/dist/client/assets/{editor-monaco-json-DKrX3IiN.js.map → editor-monaco-json-PlUCgtCX.js.map} +1 -1
  18. package/dist/client/assets/index-DSzthtfQ.js +3 -0
  19. package/dist/client/assets/{index-D_aKAAFg.js.map → index-DSzthtfQ.js.map} +1 -1
  20. package/dist/client/assets/{monaco-editor-B-NlkJ5A.js → monaco-editor-BcgxPCqT.js} +3 -3
  21. package/dist/client/assets/{monaco-editor-B-NlkJ5A.js.map → monaco-editor-BcgxPCqT.js.map} +1 -1
  22. package/dist/client/assets/preview-BBQhSmsm.js +3 -0
  23. package/dist/client/assets/{preview-AJZwEEO9.js.map → preview-BBQhSmsm.js.map} +1 -1
  24. package/dist/client/assets/query-vendor-Df8-oete.js +7 -0
  25. package/dist/client/assets/query-vendor-Df8-oete.js.map +1 -0
  26. package/dist/client/assets/radix-ui-BZ5iKMtq.js +51 -0
  27. package/dist/client/assets/radix-ui-BZ5iKMtq.js.map +1 -0
  28. package/dist/client/assets/react-vendor-CTFDOf2G.js +61 -0
  29. package/dist/client/assets/react-vendor-CTFDOf2G.js.map +1 -0
  30. package/dist/client/assets/{state-vendor-Az8redj0.js → state-vendor-BDrPu9qj.js} +2 -2
  31. package/dist/client/assets/{state-vendor-Az8redj0.js.map → state-vendor-BDrPu9qj.js.map} +1 -1
  32. package/dist/client/assets/{ui-vendor-ChWVh3T-.js → ui-vendor-Dyg3GRT-.js} +2 -2
  33. package/dist/client/assets/{ui-vendor-ChWVh3T-.js.map → ui-vendor-Dyg3GRT-.js.map} +1 -1
  34. package/dist/client/index.html +6 -6
  35. package/dist/prompts/instructions-docx.md +46 -0
  36. package/dist/prompts/instructions-edit-document-docx.md +54 -0
  37. package/dist/prompts/instructions-edit-document-pptx-slides.md +40 -0
  38. package/dist/prompts/instructions-edit-document-pptx-templates.md +48 -0
  39. package/dist/prompts/instructions-edit-document-pptx.md +49 -0
  40. package/dist/prompts/instructions-edit-document.md +28 -0
  41. package/dist/prompts/instructions-edit-pptx.md +31 -0
  42. package/dist/prompts/instructions-edit.md +24 -0
  43. package/dist/prompts/instructions-generate-docx.md +10 -0
  44. package/dist/prompts/instructions-generate-pptx.md +24 -0
  45. package/dist/prompts/instructions-generate.md +21 -0
  46. package/dist/prompts/pptx-core.md +180 -0
  47. package/dist/prompts/pptx-design.md +209 -0
  48. package/dist/prompts/system-theme.md +28 -0
  49. package/dist/prompts/system.md +30 -0
  50. package/package.json +17 -17
  51. package/dist/client/assets/HomePage-muPAe_M2.js +0 -99
  52. package/dist/client/assets/HomePage-muPAe_M2.js.map +0 -1
  53. package/dist/client/assets/JsonEditorPage-DKor0I6f.js +0 -3
  54. package/dist/client/assets/MonacoPluginProvider-BGYshg9R.js +0 -3
  55. package/dist/client/assets/NotFoundPage-ILCklaD-.js +0 -2
  56. package/dist/client/assets/button-BzUKH2aN.js +0 -2
  57. package/dist/client/assets/index-D_aKAAFg.js +0 -3
  58. package/dist/client/assets/preview-AJZwEEO9.js +0 -3
  59. package/dist/client/assets/query-vendor-CT0SoqJh.js +0 -15
  60. package/dist/client/assets/query-vendor-CT0SoqJh.js.map +0 -1
  61. package/dist/client/assets/radix-ui-DkKm4m5M.js +0 -2
  62. package/dist/client/assets/radix-ui-DkKm4m5M.js.map +0 -1
  63. package/dist/client/assets/react-vendor-B_QXlk-T.js +0 -102
  64. package/dist/client/assets/react-vendor-B_QXlk-T.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-vendor-CTFDOf2G.js","sources":["../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js","../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js","../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.production.js","../../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/index.js","../../../../../node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.js","../../../../../node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.js","../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/index.js","../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.js","../../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.js","../../../../../node_modules/.pnpm/react-router@7.0.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-router/dist/development/chunk-D52XG6IA.mjs"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.4\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.4\";\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.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[: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]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle 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(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \"<script>\\x3c/script>\";\n nextResource = nextResource.removeChild(\n nextResource.firstChild\n );\n break;\n case \"select\":\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(\"select\", {\n is: newProps.is\n })\n : ownerDocument.createElement(\"select\");\n newProps.multiple\n ? (nextResource.multiple = !0)\n : newProps.size && (nextResource.size = newProps.size);\n break;\n default:\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(type, { is: newProps.is })\n : ownerDocument.createElement(type);\n }\n }\n nextResource[internalInstanceKey] = workInProgress;\n nextResource[internalPropsKey] = newProps;\n a: for (\n ownerDocument = workInProgress.child;\n null !== ownerDocument;\n\n ) {\n if (5 === ownerDocument.tag || 6 === ownerDocument.tag)\n nextResource.appendChild(ownerDocument.stateNode);\n else if (\n 4 !== ownerDocument.tag &&\n 27 !== ownerDocument.tag &&\n null !== ownerDocument.child\n ) {\n ownerDocument.child.return = ownerDocument;\n ownerDocument = ownerDocument.child;\n continue;\n }\n if (ownerDocument === workInProgress) break a;\n for (; null === ownerDocument.sibling; ) {\n if (\n null === ownerDocument.return ||\n ownerDocument.return === workInProgress\n )\n break a;\n ownerDocument = ownerDocument.return;\n }\n ownerDocument.sibling.return = ownerDocument.return;\n ownerDocument = ownerDocument.sibling;\n }\n workInProgress.stateNode = nextResource;\n a: switch (\n (setInitialProperties(nextResource, type, newProps), type)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n newProps = !!newProps.autoFocus;\n break a;\n case \"img\":\n newProps = !0;\n break a;\n default:\n newProps = !1;\n }\n newProps && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n null === current ? null : current.memoizedProps,\n workInProgress.pendingProps,\n renderLanes\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n type = hydrationParentFiber;\n if (null !== type)\n switch (type.tag) {\n case 27:\n case 5:\n newProps = type.memoizedProps;\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps && !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress, !0);\n } else\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 31:\n renderLanes = workInProgress.memoizedState;\n if (null === current || null !== current.memoizedState) {\n newProps = popHydrationState(workInProgress);\n if (null !== renderLanes) {\n if (null === current) {\n if (!newProps) throw Error(formatProdErrorMessage(318));\n current = workInProgress.memoizedState;\n current = null !== current ? current.dehydrated : null;\n if (!current) throw Error(formatProdErrorMessage(557));\n current[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n current = !1;\n } else\n (renderLanes = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = renderLanes),\n (current = !0);\n if (!current) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n if (0 !== (workInProgress.flags & 128))\n throw Error(formatProdErrorMessage(558));\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!type) throw Error(formatProdErrorMessage(318));\n type = workInProgress.memoizedState;\n type = null !== type ? type.dehydrated : null;\n if (!type) throw Error(formatProdErrorMessage(317));\n type[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n type = !1;\n } else\n (type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = type),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool),\n (nextResource = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (nextResource = newProps.memoizedState.cachePool.pool),\n nextResource !== type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n null === current &&\n listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 19:\n pop(suspenseStackCursor);\n newProps = workInProgress.memoizedState;\n if (null === newProps) return bubbleProperties(workInProgress), null;\n type = 0 !== (workInProgress.flags & 128);\n nextResource = newProps.rendering;\n if (null === nextResource)\n if (type) cutOffTailIfNeeded(newProps, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n nextResource = findFirstSuspended(current);\n if (null !== nextResource) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(newProps, !1);\n current = nextResource.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n isHydrating &&\n pushTreeFork(workInProgress, newProps.treeForkCount);\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== newProps.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!type)\n if (\n ((current = findFirstSuspended(nextResource)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (type = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(newProps, !0),\n null === newProps.tail &&\n \"hidden\" === newProps.tailMode &&\n !nextResource.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - newProps.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n newProps.isBackwards\n ? ((nextResource.sibling = workInProgress.child),\n (workInProgress.child = nextResource))\n : ((current = newProps.last),\n null !== current\n ? (current.sibling = nextResource)\n : (workInProgress.child = nextResource),\n (newProps.last = nextResource));\n }\n if (null !== newProps.tail)\n return (\n (current = newProps.tail),\n (newProps.rendering = current),\n (newProps.tail = current.sibling),\n (newProps.renderingStartTime = now()),\n (current.sibling = null),\n (renderLanes = suspenseStackCursor.current),\n push(\n suspenseStackCursor,\n type ? (renderLanes & 1) | 2 : renderLanes & 1\n ),\n isHydrating && pushTreeFork(workInProgress, newProps.treeForkCount),\n current\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 31:\n if (null !== workInProgress.memoizedState) {\n popSuspenseHandler(workInProgress);\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 31:\n null !== interruptedWork.memoizedState &&\n popSuspenseHandler(interruptedWork);\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0,\n destroy_ = destroy;\n try {\n destroy_();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = current.stateNode;\n break;\n case 30:\n instanceToUse = current.stateNode;\n break;\n default:\n instanceToUse = current.stateNode;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$140) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$140);\n }\n else ref.current = null;\n}\nfunction commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n a: switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n props.autoFocus && instance.focus();\n break a;\n case \"img\":\n props.src\n ? (instance.src = props.src)\n : props.srcSet && (instance.srcset = props.srcSet);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n var domElement = finishedWork.stateNode;\n updateProperties(domElement, finishedWork.type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(node, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(node),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1));\n else if (\n 4 !== tag &&\n (27 === tag &&\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? parent.insertBefore(node, before) : parent.appendChild(node);\n else if (\n 4 !== tag &&\n (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent), (node = node.sibling);\n}\nfunction commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n for (\n var type = finishedWork.type, attributes = singleton.attributes;\n attributes.length;\n\n )\n singleton.removeAttributeNode(attributes[0]);\n setInitialProperties(singleton, type, props);\n singleton[internalInstanceKey] = finishedWork;\n singleton[internalPropsKey] = props;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null;\nfunction commitBeforeMutationEffects(root, firstChild) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$20) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };\n _enabled = !1;\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((firstChild = nextEffect),\n (root = firstChild.child),\n 0 !== (firstChild.subtreeFlags & 1028) && null !== root)\n )\n (root.return = firstChild), (nextEffect = root);\n else\n for (; null !== nextEffect; ) {\n firstChild = nextEffect;\n focusNode = firstChild.alternate;\n root = firstChild.flags;\n switch (firstChild.tag) {\n case 0:\n if (\n 0 !== (root & 4) &&\n ((root = firstChild.updateQueue),\n (root = null !== root ? root.events : null),\n null !== root)\n )\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < root.length;\n JSCompiler_temp++\n )\n (anchorOffset = root[JSCompiler_temp]),\n (anchorOffset.ref.impl = anchorOffset.nextImpl);\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (root & 1024) && null !== focusNode) {\n root = void 0;\n JSCompiler_temp = firstChild;\n anchorOffset = focusNode.memoizedProps;\n focusNode = focusNode.memoizedState;\n selection = JSCompiler_temp.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n JSCompiler_temp.type,\n anchorOffset\n );\n root = selection.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n focusNode\n );\n selection.__reactInternalSnapshotBeforeUpdate = root;\n } catch (error) {\n captureCommitPhaseError(\n JSCompiler_temp,\n JSCompiler_temp.return,\n error\n );\n }\n }\n break;\n case 3:\n if (0 !== (root & 1024))\n if (\n ((root = firstChild.stateNode.containerInfo),\n (JSCompiler_temp = root.nodeType),\n 9 === JSCompiler_temp)\n )\n clearContainerSparingly(root);\n else if (1 === JSCompiler_temp)\n switch (root.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(root);\n break;\n default:\n root.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (root & 1024)) throw Error(formatProdErrorMessage(163));\n }\n root = firstChild.sibling;\n if (null !== root) {\n root.return = firstChild.return;\n nextEffect = root;\n break;\n }\n nextEffect = firstChild.return;\n }\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$139) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$139\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((finishedRoot = finishedWork.updateQueue), null !== finishedRoot)\n ) {\n current = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n current = finishedWork.child.stateNode;\n break;\n case 1:\n current = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(finishedRoot, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 31:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n prevProps = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = current) && !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevProps;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n break;\n case 30:\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (9 === hostParent.nodeType\n ? hostParent.body\n : \"HTML\" === hostParent.nodeName\n ? hostParent.ownerDocument.body\n : hostParent\n ).removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n hostParent.removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearHydrationBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearHydrationBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction commitActivityHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState), null !== finishedRoot))\n ) {\n finishedRoot = finishedRoot.dehydrated;\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 31:\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n wakeable.then(retry, retry);\n }\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13886)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n}\nvar currentHoistableRoot = null;\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4) {\n var currentResource = null !== current ? current.memoizedState : null;\n flags = finishedWork.memoizedState;\n if (null === current)\n if (null === flags)\n if (null === finishedWork.stateNode) {\n a: {\n flags = finishedWork.type;\n current = finishedWork.memoizedProps;\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n b: switch (flags) {\n case \"title\":\n currentResource =\n hoistableRoot.getElementsByTagName(\"title\")[0];\n if (\n !currentResource ||\n currentResource[internalHoistableMarker] ||\n currentResource[internalInstanceKey] ||\n \"http://www.w3.org/2000/svg\" ===\n currentResource.namespaceURI ||\n currentResource.hasAttribute(\"itemprop\")\n )\n (currentResource = hoistableRoot.createElement(flags)),\n hoistableRoot.head.insertBefore(\n currentResource,\n hoistableRoot.querySelector(\"head > title\")\n );\n setInitialProperties(currentResource, flags, current);\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n break a;\n case \"link\":\n var maybeNodes = getHydratableHoistableCache(\n \"link\",\n \"href\",\n hoistableRoot\n ).get(flags + (current.href || \"\"));\n if (maybeNodes)\n for (var i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"href\") ===\n (null == current.href || \"\" === current.href\n ? null\n : current.href) &&\n currentResource.getAttribute(\"rel\") ===\n (null == current.rel ? null : current.rel) &&\n currentResource.getAttribute(\"title\") ===\n (null == current.title ? null : current.title) &&\n currentResource.getAttribute(\"crossorigin\") ===\n (null == current.crossOrigin\n ? null\n : current.crossOrigin))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n case \"meta\":\n if (\n (maybeNodes = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n hoistableRoot\n ).get(flags + (current.content || \"\")))\n )\n for (i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"content\") ===\n (null == current.content\n ? null\n : \"\" + current.content) &&\n currentResource.getAttribute(\"name\") ===\n (null == current.name ? null : current.name) &&\n currentResource.getAttribute(\"property\") ===\n (null == current.property\n ? null\n : current.property) &&\n currentResource.getAttribute(\"http-equiv\") ===\n (null == current.httpEquiv\n ? null\n : current.httpEquiv) &&\n currentResource.getAttribute(\"charset\") ===\n (null == current.charSet\n ? null\n : current.charSet))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n default:\n throw Error(formatProdErrorMessage(468, flags));\n }\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n }\n finishedWork.stateNode = flags;\n } else\n mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n );\n else\n finishedWork.stateNode = acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n );\n else\n currentResource !== flags\n ? (null === currentResource\n ? null !== current.stateNode &&\n ((current = current.stateNode),\n current.parentNode.removeChild(current))\n : currentResource.count--,\n null === flags\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n ))\n : null === flags &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n }\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n hoistableRoot = finishedWork.stateNode;\n try {\n setTextContent(hoistableRoot, \"\");\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((hoistableRoot = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n hoistableRoot,\n null !== current ? current.memoizedProps : hoistableRoot\n ));\n flags & 1024 && (needsFormReset = !0);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = finishedWork.stateNode;\n try {\n current.nodeValue = flags;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n tagCaches = null;\n hoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = hoistableRoot;\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && null !== current && current.memoizedState.isDehydrated)\n try {\n retryIfBlockedOn(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n flags = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = flags;\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 31:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n if (flags & 8192)\n a: for (\n root = finishedWork.stateNode,\n root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1,\n hoistableRoot &&\n (null === current ||\n wasHidden ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n current = null,\n root = finishedWork;\n ;\n\n ) {\n if (5 === root.tag || 26 === root.tag) {\n if (null === current) {\n wasHidden = current = root;\n try {\n if (((currentResource = wasHidden.stateNode), hoistableRoot))\n (maybeNodes = currentResource.style),\n \"function\" === typeof maybeNodes.setProperty\n ? maybeNodes.setProperty(\"display\", \"none\", \"important\")\n : (maybeNodes.display = \"none\");\n else {\n i = wasHidden.stateNode;\n var styleProp = wasHidden.memoizedProps.style,\n display =\n void 0 !== styleProp &&\n null !== styleProp &&\n styleProp.hasOwnProperty(\"display\")\n ? styleProp.display\n : null;\n i.style.display =\n null == display || \"boolean\" === typeof display\n ? \"\"\n : (\"\" + display).trim();\n }\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n wasHidden.stateNode.nodeValue = hoistableRoot\n ? \"\"\n : wasHidden.memoizedProps;\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (18 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n var instance = wasHidden.stateNode;\n hoistableRoot\n ? hideOrUnhideDehydratedBoundary(instance, !0)\n : hideOrUnhideDehydratedBoundary(wasHidden.stateNode, !1);\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork) break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 30:\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));\n switch (hostParentFiber.tag) {\n case 27:\n var parent = hostParentFiber.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n case 5:\n var parent$141 = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (setTextContent(parent$141, \"\"), (hostParentFiber.flags &= -33));\n var before$142 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$142, parent$141);\n break;\n case 3:\n case 4:\n var parent$143 = hostParentFiber.stateNode.containerInfo,\n before$144 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$144,\n parent$143\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 27:\n releaseSingletonInstance(finishedWork.stateNode);\n case 26:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 30:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 31:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 31:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n id = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork)\n : _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256) || !1\n ));\n flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects &&\n (0 !== (parentFiber.subtreeFlags & 10256) || !1);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 2\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(\n parentFiber,\n committedLanes,\n suspendedState\n) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(\n parentFiber,\n committedLanes,\n suspendedState\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(\n fiber,\n committedLanes,\n suspendedState\n) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n suspendResource(\n suspendedState,\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n );\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 2 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 2 &&\n ((i._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n },\n cacheSignal: function () {\n return readContext(CacheContext).controller.signal;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n globalMostRecentTransitionTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane() {\n return 0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes\n ? workInProgressRootRenderLanes & -workInProgressRootRenderLanes\n : null !== ReactSharedInternals.T\n ? requestTransitionLane()\n : resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n if (0 === workInProgressDeferredLane)\n if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {\n var lane = nextTransitionDeferredLane;\n nextTransitionDeferredLane <<= 1;\n 0 === (nextTransitionDeferredLane & 3932160) &&\n (nextTransitionDeferredLane = 262144);\n workInProgressDeferredLane = lane;\n } else workInProgressDeferredLane = 536870912;\n lane = suspenseHandlerStackCursor.current;\n null !== lane && (lane.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 127) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |= 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = renderWasConcurrent)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n renderWasConcurrent\n ));\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194048) !== lanes) break;\n case 6:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n if (\n (lanes & 62914560) === lanes &&\n ((exitStatus = globalMostRecentFallbackTime + 300 - now()),\n 10 < exitStatus)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n pendingEffectsLanes = lanes;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n \"Throttled\",\n -0,\n 0\n ),\n exitStatus\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n null,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n root.timeoutHandle = -1;\n suspendedCommitReason = finishedWork.subtreeFlags;\n if (\n suspendedCommitReason & 8192 ||\n 16785408 === (suspendedCommitReason & 16785408)\n ) {\n suspendedCommitReason = {\n stylesheets: null,\n count: 0,\n imgCount: 0,\n imgBytes: 0,\n suspenseyImages: [],\n waitingForImages: !0,\n waitingForViewTransition: !1,\n unsuspend: noop$1\n };\n accumulateSuspenseyCommitOnFiber(\n finishedWork,\n lanes,\n suspendedCommitReason\n );\n var timeoutOffset =\n (lanes & 62914560) === lanes\n ? globalMostRecentFallbackTime - now()\n : (lanes & 4194048) === lanes\n ? globalMostRecentTransitionTime - now()\n : 0;\n timeoutOffset = waitForCommitToBeReady(\n suspendedCommitReason,\n timeoutOffset\n );\n if (null !== timeoutOffset) {\n pendingEffectsLanes = lanes;\n root.cancelPendingCommit = timeoutOffset(\n commitRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n exitStatus,\n suspendedCommitReason,\n null,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n }\n commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction flushSyncWork$1() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber$1 = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n pendingEffectsLanes = 0;\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n lanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException || thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 9:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$165) {\n handleThrow(root, thrownValue$165);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber$1 = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n case 9:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (2 !== workInProgressSuspendedReason &&\n 9 !== workInProgressSuspendedReason) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (\n resource\n ? preloadResource(resource)\n : hostFiber.stateNode.complete\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$167) {\n handleThrow(root, thrownValue$167);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason ||\n 9 === suspendedReason ||\n 3 === suspendedReason ||\n 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (0 !== pendingEffectsStatus);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n if (null !== finishedWork) {\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;\n didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects();\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n recoverableErrors = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {\n recoverableErrors = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n transitions = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n spawnedLane = executionContext;\n executionContext |= 4;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = spawnedLane),\n (ReactDOMSharedInternals.p = transitions),\n (ReactSharedInternals.T = recoverableErrors);\n }\n }\n pendingEffectsStatus = 1;\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n }\n}\nfunction flushMutationEffects() {\n if (1 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitMutationEffectsOnFiber(finishedWork, root);\n var priorSelectionInformation = selectionInformation,\n curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = priorSelectionInformation.focusedElem,\n priorSelectionRange = priorSelectionInformation.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(priorSelectionRange.start, length),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = 2;\n }\n}\nfunction flushLayoutEffects() {\n if (2 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork);\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = 3;\n }\n}\nfunction flushSpawnedWork() {\n if (4 === pendingEffectsStatus || 3 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? (pendingEffectsStatus = 5)\n : ((pendingEffectsStatus = 0),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes));\n var remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n void 0,\n 128 === (finishedWork.current.flags & 128)\n );\n } catch (err) {}\n if (null !== recoverableErrors) {\n finishedWork = ReactSharedInternals.T;\n remainingLanes = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n ReactSharedInternals.T = null;\n try {\n for (\n var onRecoverableError = root.onRecoverableError, i = 0;\n i < recoverableErrors.length;\n i++\n ) {\n var recoverableError = recoverableErrors[i];\n onRecoverableError(recoverableError.value, {\n componentStack: recoverableError.stack\n });\n }\n } finally {\n (ReactSharedInternals.T = finishedWork),\n (ReactDOMSharedInternals.p = remainingLanes);\n }\n }\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n remainingLanes = root.pendingLanes;\n 0 !== (lanes & 261930) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n }\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPendingEffects() {\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects();\n}\nfunction flushPassiveEffects() {\n if (5 !== pendingEffectsStatus) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = 0;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 31:\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root$170 = firstScheduledRoot; null !== root$170; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root$170.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root$170.suspendedLanes,\n pingedLanes = root$170.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326741\n ? (JSCompiler_inline_result & 201326741) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root$170,\n root$170 === workInProgressRoot ? JSCompiler_inline_result : 0,\n null !== root$170.cancelPendingCommit ||\n -1 !== root$170.timeoutHandle\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root$170, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n root$170 = root$170.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus) ||\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n if (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus)\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateRootScheduleTask() {\n scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n}\nfunction requestTransitionLane() {\n if (0 === currentEventTransitionLane) {\n var actionScopeLane = currentEntangledLane;\n 0 === actionScopeLane &&\n ((actionScopeLane = nextTransitionUpdateLane),\n (nextTransitionUpdateLane <<= 1),\n 0 === (nextTransitionUpdateLane & 261888) &&\n (nextTransitionUpdateLane = 256));\n currentEventTransitionLane = actionScopeLane;\n }\n return currentEventTransitionLane;\n}\nfunction coerceFormActionProp(actionProp) {\n return null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n ? null\n : \"function\" === typeof actionProp\n ? actionProp\n : sanitizeURL(\"\" + actionProp);\n}\nfunction createFormDataWithSubmitter(form, submitter) {\n var temp = submitter.ownerDocument.createElement(\"input\");\n temp.name = submitter.name;\n temp.value = submitter.value;\n form.id && temp.setAttribute(\"form\", form.id);\n submitter.parentNode.insertBefore(temp, submitter);\n form = new FormData(form);\n temp.parentNode.removeChild(temp);\n return form;\n}\nfunction extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName && ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget);\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget)),\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n}\nfor (\n var i$jscomp$inline_1577 = 0;\n i$jscomp$inline_1577 < simpleEventPluginEvents.length;\n i$jscomp$inline_1577++\n) {\n var eventName$jscomp$inline_1578 =\n simpleEventPluginEvents[i$jscomp$inline_1577],\n domEventName$jscomp$inline_1579 =\n eventName$jscomp$inline_1578.toLowerCase(),\n capitalizedEvent$jscomp$inline_1580 =\n eventName$jscomp$inline_1578[0].toUpperCase() +\n eventName$jscomp$inline_1578.slice(1);\n registerSimpleEvent(\n domEventName$jscomp$inline_1579,\n \"on\" + capitalizedEvent$jscomp$inline_1580\n );\n}\nregisterSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\nregisterSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\nregisterSimpleEvent(ANIMATION_START, \"onAnimationStart\");\nregisterSimpleEvent(\"dblclick\", \"onDoubleClick\");\nregisterSimpleEvent(\"focusin\", \"onFocus\");\nregisterSimpleEvent(\"focusout\", \"onBlur\");\nregisterSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\nregisterSimpleEvent(TRANSITION_START, \"onTransitionStart\");\nregisterSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\nregisterSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\nregisterDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nregisterDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nregisterTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n);\nregisterTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n]);\nregisterTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n);\nvar mediaEventTypes =\n \"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(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n );\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n a: {\n var previousInstance = void 0;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n }\n }\n}\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n var JSCompiler_inline_result = targetElement[internalEventHandlersKey];\n void 0 === JSCompiler_inline_result &&\n (JSCompiler_inline_result = targetElement[internalEventHandlersKey] =\n new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n JSCompiler_inline_result.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n JSCompiler_inline_result.add(listenerSetKey));\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n}\nvar listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n}\nfunction addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n) {\n switch (getEventPriority(domEventName)) {\n case 2:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case 8:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);\n}\nfunction dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance = instance;\n lastHostComponent = _instance.stateNode;\n _instance = _instance.tag;\n (5 !== _instance && 26 !== _instance && 27 !== _instance) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance = getListener(instance, reactEventName)),\n null != _instance &&\n inCapturePhase.push(\n createDispatchListener(instance, _instance, lastHostComponent)\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: reactName, listeners: inCapturePhase }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n reactName =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n SyntheticEventCtor =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n reactName &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (SyntheticEventCtor || reactName) {\n reactName =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (reactName = nativeEventTarget.ownerDocument)\n ? reactName.defaultView || reactName.parentWindow\n : window;\n if (SyntheticEventCtor) {\n if (\n ((reactEventType =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (SyntheticEventCtor = targetInst),\n (reactEventType = reactEventType\n ? getClosestInstanceFromNode(reactEventType)\n : null),\n null !== reactEventType &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(reactEventType)),\n (inCapturePhase = reactEventType.tag),\n reactEventType !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n reactEventType = null;\n } else (SyntheticEventCtor = null), (reactEventType = targetInst);\n if (SyntheticEventCtor !== reactEventType) {\n inCapturePhase = SyntheticMouseEvent;\n _instance = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\"pointerout\" === domEventName || \"pointerover\" === domEventName)\n (inCapturePhase = SyntheticPointerEvent),\n (_instance = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == SyntheticEventCtor\n ? reactName\n : getNodeFromInstance(SyntheticEventCtor);\n lastHostComponent =\n null == reactEventType\n ? reactName\n : getNodeFromInstance(reactEventType);\n reactName = new inCapturePhase(\n _instance,\n instance + \"leave\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n );\n reactName.target = accumulateTargetOnly;\n reactName.relatedTarget = lastHostComponent;\n _instance = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n reactEventType,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance = inCapturePhase));\n accumulateTargetOnly = _instance;\n if (SyntheticEventCtor && reactEventType)\n b: {\n inCapturePhase = getParent;\n reactEventName = SyntheticEventCtor;\n instance = reactEventType;\n lastHostComponent = 0;\n for (\n _instance = reactEventName;\n _instance;\n _instance = inCapturePhase(_instance)\n )\n lastHostComponent++;\n _instance = 0;\n for (var tempB = instance; tempB; tempB = inCapturePhase(tempB))\n _instance++;\n for (; 0 < lastHostComponent - _instance; )\n (reactEventName = inCapturePhase(reactEventName)),\n lastHostComponent--;\n for (; 0 < _instance - lastHostComponent; )\n (instance = inCapturePhase(instance)), _instance--;\n for (; lastHostComponent--; ) {\n if (\n reactEventName === instance ||\n (null !== instance && reactEventName === instance.alternate)\n ) {\n inCapturePhase = reactEventName;\n break b;\n }\n reactEventName = inCapturePhase(reactEventName);\n instance = inCapturePhase(instance);\n }\n inCapturePhase = null;\n }\n else inCapturePhase = null;\n null !== SyntheticEventCtor &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactName,\n SyntheticEventCtor,\n inCapturePhase,\n !1\n );\n null !== reactEventType &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n reactEventType,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);\n \"focusout\" === domEventName &&\n targetInst &&\n \"number\" === reactName.type &&\n null != targetInst.memoizedProps.value &&\n setDefaultValue(reactName, \"number\", reactName.value);\n }\n handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n 229 === nativeEvent.keyCode &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(targetInst, eventType)),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: eventType, listeners: handleEventFunc }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(targetInst, \"onBeforeInput\")),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticCompositionEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n}\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance2 = targetFiber,\n stateNode = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === stateNode ||\n ((_instance2 = getListener(targetFiber, captureName)),\n null != _instance2 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ),\n (_instance2 = getListener(targetFiber, reactName)),\n null != _instance2 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n}\nfunction getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n}\nfunction accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance3 = target,\n alternate = _instance3.alternate,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n}\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\nfunction normalizeMarkupForTextOrAttribute(markup) {\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n}\nfunction checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;\n}\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n \"string\" === typeof value\n ? \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n \"body\" !== tag &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(domElement, tag, \"encType\", props.encType, props, null),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(domElement, tag, \"target\", props.target, props, null)));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n key = sanitizeURL(\"\" + value);\n domElement.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n key\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\" + value)\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : domElement.setAttribute(key, value);\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n )\n (key = aliases.get(key) || key),\n setValueForAttribute(domElement, key, value);\n }\n}\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"children\":\n \"string\" === typeof value\n ? setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (!registrationNameDependencies.hasOwnProperty(key))\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (tag = key.slice(2, props ? key.length - 7 : void 0)),\n (prevValue = domElement[internalPropsKey] || null),\n (prevValue = null != prevValue ? prevValue[key] : null),\n \"function\" === typeof prevValue &&\n domElement.removeEventListener(tag, prevValue, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof prevValue &&\n null !== prevValue &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(tag, value, props);\n break a;\n }\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n }\n}\nfunction setInitialProperties(domElement, tag, props) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var propValue$184 = props[hasSrc];\n if (null != propValue$184)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = propValue$184;\n break;\n case \"type\":\n propValue = propValue$184;\n break;\n case \"checked\":\n checked = propValue$184;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$184;\n break;\n case \"value\":\n propKey = propValue$184;\n break;\n case \"defaultValue\":\n defaultValue = propValue$184;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propValue$184)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(domElement, tag, hasSrc, propValue$184, props, null);\n }\n }\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n return;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(domElement, tag, hasSrcSet, defaultValue, props, null);\n }\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue) throw Error(formatProdErrorMessage(91));\n break;\n default:\n setProp(domElement, tag, propValue, defaultValue, props, null);\n }\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n return;\n case \"option\":\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (propValue$184 in props)\n props.hasOwnProperty(propValue$184) &&\n ((hasSrc = props[propValue$184]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n propValue$184,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n}\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n for (var propKey$201 in nextProps) {\n var propKey = nextProps[propKey$201];\n lastProp = lastProps[propKey$201];\n if (\n nextProps.hasOwnProperty(propKey$201) &&\n (null != propKey || null != lastProp)\n )\n switch (propKey$201) {\n case \"type\":\n type = propKey;\n break;\n case \"name\":\n name = propKey;\n break;\n case \"checked\":\n checked = propKey;\n break;\n case \"defaultChecked\":\n defaultChecked = propKey;\n break;\n case \"value\":\n value = propKey;\n break;\n case \"defaultValue\":\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n propKey$201,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = propKey$201 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n propKey$201 = type;\n break;\n case \"defaultValue\":\n defaultValue = type;\n break;\n case \"multiple\":\n value = type;\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n tag = defaultValue;\n lastProps = value;\n nextProps = propKey;\n null != propKey$201\n ? updateOptions(domElement, !!lastProps, propKey$201, !1)\n : !!nextProps !== !!lastProps &&\n (null != tag\n ? updateOptions(domElement, !!lastProps, tag, !0)\n : updateOptions(domElement, !!lastProps, lastProps ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = propKey$201 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n propKey$201 = name;\n break;\n case \"defaultValue\":\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name) throw Error(formatProdErrorMessage(91));\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, propKey$201, propKey);\n return;\n case \"option\":\n for (var propKey$217 in lastProps)\n if (\n ((propKey$201 = lastProps[propKey$217]),\n lastProps.hasOwnProperty(propKey$217) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$217))\n )\n switch (propKey$217) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n propKey$217,\n null,\n nextProps,\n propKey$201\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((propKey$201 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n domElement.selected =\n propKey$201 &&\n \"function\" !== typeof propKey$201 &&\n \"symbol\" !== typeof propKey$201;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var propKey$222 in lastProps)\n (propKey$201 = lastProps[propKey$222]),\n lastProps.hasOwnProperty(propKey$222) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$222) &&\n setProp(domElement, tag, propKey$222, null, nextProps, propKey$201);\n for (checked in nextProps)\n if (\n ((propKey$201 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey$201)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var propKey$227 in lastProps)\n (propKey$201 = lastProps[propKey$227]),\n lastProps.hasOwnProperty(propKey$227) &&\n void 0 !== propKey$201 &&\n !nextProps.hasOwnProperty(propKey$227) &&\n setPropOnCustomElement(\n domElement,\n tag,\n propKey$227,\n void 0,\n nextProps,\n propKey$201\n );\n for (defaultChecked in nextProps)\n (propKey$201 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n propKey$201 === propKey ||\n (void 0 === propKey$201 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n propKey$201,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var propKey$232 in lastProps)\n (propKey$201 = lastProps[propKey$232]),\n lastProps.hasOwnProperty(propKey$232) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$232) &&\n setProp(domElement, tag, propKey$232, null, nextProps, propKey$201);\n for (lastProp in nextProps)\n (propKey$201 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n propKey$201 === propKey ||\n (null == propKey$201 && null == propKey) ||\n setProp(domElement, tag, lastProp, propKey$201, nextProps, propKey);\n}\nfunction isLikelyStaticResource(initiatorType) {\n switch (initiatorType) {\n case \"css\":\n case \"script\":\n case \"font\":\n case \"img\":\n case \"image\":\n case \"input\":\n case \"link\":\n return !0;\n default:\n return !1;\n }\n}\nfunction estimateBandwidth() {\n if (\"function\" === typeof performance.getEntriesByType) {\n for (\n var count = 0,\n bits = 0,\n resourceEntries = performance.getEntriesByType(\"resource\"),\n i = 0;\n i < resourceEntries.length;\n i++\n ) {\n var entry = resourceEntries[i],\n transferSize = entry.transferSize,\n initiatorType = entry.initiatorType,\n duration = entry.duration;\n if (transferSize && duration && isLikelyStaticResource(initiatorType)) {\n initiatorType = 0;\n duration = entry.responseEnd;\n for (i += 1; i < resourceEntries.length; i++) {\n var overlapEntry = resourceEntries[i],\n overlapStartTime = overlapEntry.startTime;\n if (overlapStartTime > duration) break;\n var overlapTransferSize = overlapEntry.transferSize,\n overlapInitiatorType = overlapEntry.initiatorType;\n overlapTransferSize &&\n isLikelyStaticResource(overlapInitiatorType) &&\n ((overlapEntry = overlapEntry.responseEnd),\n (initiatorType +=\n overlapTransferSize *\n (overlapEntry < duration\n ? 1\n : (duration - overlapStartTime) /\n (overlapEntry - overlapStartTime))));\n }\n --i;\n bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);\n count++;\n if (10 < count) break;\n }\n }\n if (0 < count) return bits / count / 1e6;\n }\n return navigator.connection &&\n ((count = navigator.connection.downlink), \"number\" === typeof count)\n ? count\n : 5;\n}\nvar eventsEnabled = null,\n selectionInformation = null;\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n}\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case \"http://www.w3.org/2000/svg\":\n return 1;\n case \"http://www.w3.org/1998/Math/MathML\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getChildHostContextProd(parentNamespace, type) {\n if (0 === parentNamespace)\n switch (type) {\n case \"svg\":\n return 1;\n case \"math\":\n return 2;\n default:\n return 0;\n }\n return 1 === parentNamespace && \"foreignObject\" === type\n ? 0\n : parentNamespace;\n}\nfunction shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n}\nvar scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout;\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nfunction isSingletonScope(type) {\n return \"head\" === type;\n}\nfunction clearHydrationBoundary(parentInstance, hydrationInstance) {\n var node = hydrationInstance,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node || \"/&\" === node)) {\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(hydrationInstance);\n return;\n }\n depth--;\n } else if (\n \"$\" === node ||\n \"$?\" === node ||\n \"$~\" === node ||\n \"$!\" === node ||\n \"&\" === node\n )\n depth++;\n else if (\"html\" === node)\n releaseSingletonInstance(parentInstance.ownerDocument.documentElement);\n else if (\"head\" === node) {\n node = parentInstance.ownerDocument.head;\n releaseSingletonInstance(node);\n for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {\n var nextNode$jscomp$0 = node$jscomp$0.nextSibling,\n nodeName = node$jscomp$0.nodeName;\n node$jscomp$0[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === node$jscomp$0.rel.toLowerCase()) ||\n node.removeChild(node$jscomp$0);\n node$jscomp$0 = nextNode$jscomp$0;\n }\n } else\n \"body\" === node &&\n releaseSingletonInstance(parentInstance.ownerDocument.body);\n node = nextNode;\n } while (node);\n retryIfBlockedOn(hydrationInstance);\n}\nfunction hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {\n var node = suspenseInstance;\n suspenseInstance = 0;\n do {\n var nextNode = node.nextSibling;\n 1 === node.nodeType\n ? isHidden\n ? ((node._stashedDisplay = node.style.display),\n (node.style.display = \"none\"))\n : ((node.style.display = node._stashedDisplay || \"\"),\n \"\" === node.getAttribute(\"style\") && node.removeAttribute(\"style\"))\n : 3 === node.nodeType &&\n (isHidden\n ? ((node._stashedText = node.nodeValue), (node.nodeValue = \"\"))\n : (node.nodeValue = node._stashedText || \"\"));\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node))\n if (0 === suspenseInstance) break;\n else suspenseInstance--;\n else\n (\"$\" !== node && \"$?\" !== node && \"$~\" !== node && \"$!\" !== node) ||\n suspenseInstance++;\n node = nextNode;\n } while (node);\n}\nfunction clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\"stylesheet\" === name && instance.hasAttribute(\"data-precedence\"))\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction canHydrateHydrationBoundary(instance, inRootOrSingleton) {\n for (; 8 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return \"$?\" === instance.data || \"$~\" === instance.data;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return (\n \"$!\" === instance.data ||\n (\"$?\" === instance.data && \"loading\" !== instance.ownerDocument.readyState)\n );\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\"$~\" === instance.data) instance._reactRetry = callback;\n else if (\"$?\" !== instance.data || \"loading\" !== ownerDocument.readyState)\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n}\nfunction getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n \"$\" === nodeType ||\n \"$!\" === nodeType ||\n \"$?\" === nodeType ||\n \"$~\" === nodeType ||\n \"&\" === nodeType ||\n \"F!\" === nodeType ||\n \"F\" === nodeType\n )\n break;\n if (\"/$\" === nodeType || \"/&\" === nodeType) return null;\n }\n }\n return node;\n}\nvar previousHydratableOnEnteringScopedSingleton = null;\nfunction getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {\n hydrationInstance = hydrationInstance.nextSibling;\n for (var depth = 0; hydrationInstance; ) {\n if (8 === hydrationInstance.nodeType) {\n var data = hydrationInstance.data;\n if (\"/$\" === data || \"/&\" === data) {\n if (0 === depth)\n return getNextHydratable(hydrationInstance.nextSibling);\n depth--;\n } else\n (\"$\" !== data &&\n \"$!\" !== data &&\n \"$?\" !== data &&\n \"$~\" !== data &&\n \"&\" !== data) ||\n depth++;\n }\n hydrationInstance = hydrationInstance.nextSibling;\n }\n return null;\n}\nfunction getParentHydrationBoundary(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\n \"$\" === data ||\n \"$!\" === data ||\n \"$?\" === data ||\n \"$~\" === data ||\n \"&\" === data\n ) {\n if (0 === depth) return targetInstance;\n depth--;\n } else (\"/$\" !== data && \"/&\" !== data) || depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance) {\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type) throw Error(formatProdErrorMessage(452));\n return type;\n case \"head\":\n type = props.head;\n if (!type) throw Error(formatProdErrorMessage(453));\n return type;\n case \"body\":\n type = props.body;\n if (!type) throw Error(formatProdErrorMessage(454));\n return type;\n default:\n throw Error(formatProdErrorMessage(451));\n }\n}\nfunction releaseSingletonInstance(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n}\nvar preloadPropsMap = new Map(),\n preconnectsSet = new Set();\nfunction getHoistableRoot(container) {\n return \"function\" === typeof container.getRootNode\n ? container.getRootNode()\n : 9 === container.nodeType\n ? container\n : container.ownerDocument;\n}\nvar previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: flushSyncWork,\n r: requestFormReset,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nfunction flushSyncWork() {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n}\nfunction requestFormReset(form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n}\nvar globalDocument = \"undefined\" === typeof document ? null : document;\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n}\nfunction prefetchDNS(href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n}\nfunction preconnect(href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n}\nfunction preload(href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet ? void 0 : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))) ||\n ((as = ownerDocument.createElement(\"link\")),\n setInitialProperties(as, \"link\", href),\n markNodeAsHoistable(as),\n ownerDocument.head.appendChild(as)));\n }\n}\nfunction preloadModule(href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as = options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n}\nfunction preinitStyle(href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: 0, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = 5;\n else {\n href = assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= 1;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= 2;\n });\n state.loading |= 4;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n}\nfunction preinitScript(src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction preinitModuleScript(src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction getResource(type, currentProps, pendingProps, currentResource) {\n var JSCompiler_inline_result = (JSCompiler_inline_result =\n rootInstanceStackCursor.current)\n ? getHoistableRoot(JSCompiler_inline_result)\n : null;\n if (!JSCompiler_inline_result) throw Error(formatProdErrorMessage(446));\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((currentProps = getStyleKey(pendingProps.href)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var styles$243 = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles,\n resource$244 = styles$243.get(type);\n resource$244 ||\n ((JSCompiler_inline_result =\n JSCompiler_inline_result.ownerDocument || JSCompiler_inline_result),\n (resource$244 = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: 0, preload: null }\n }),\n styles$243.set(type, resource$244),\n (styles$243 = JSCompiler_inline_result.querySelector(\n getStylesheetSelectorFromKey(type)\n )) &&\n !styles$243._p &&\n ((resource$244.instance = styles$243),\n (resource$244.state.loading = 5)),\n preloadPropsMap.has(type) ||\n ((pendingProps = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n }),\n preloadPropsMap.set(type, pendingProps),\n styles$243 ||\n preloadStylesheet(\n JSCompiler_inline_result,\n type,\n pendingProps,\n resource$244.state\n )));\n if (currentProps && null === currentResource)\n throw Error(formatProdErrorMessage(528, \"\"));\n return resource$244;\n }\n if (currentProps && null !== currentResource)\n throw Error(formatProdErrorMessage(529, \"\"));\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((currentProps = getScriptKey(pendingProps)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableScripts),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(formatProdErrorMessage(444, type));\n }\n}\nfunction getStyleKey(href) {\n return 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"';\n}\nfunction getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n}\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n}\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n ownerDocument.querySelector('link[rel=\"preload\"][as=\"style\"][' + key + \"]\")\n ? (state.loading = 1)\n : ((key = ownerDocument.createElement(\"link\")),\n (state.preload = key),\n key.addEventListener(\"load\", function () {\n return (state.loading |= 1);\n }),\n key.addEventListener(\"error\", function () {\n return (state.loading |= 2);\n }),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key));\n}\nfunction getScriptKey(src) {\n return '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]';\n}\nfunction getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n}\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement(\n \"style\"\n );\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var instance$249 = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (instance$249)\n return (\n (resource.state.loading |= 4),\n (resource.instance = instance$249),\n markNodeAsHoistable(instance$249),\n instance$249\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n instance$249 = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(instance$249);\n var linkInstance = instance$249;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance$249, \"link\", instance);\n resource.state.loading |= 4;\n insertStylesheet(instance$249, props.precedence, hoistableRoot);\n return (resource.instance = instance$249);\n case \"script\":\n instance$249 = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(instance$249)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(instance$249)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(formatProdErrorMessage(443, resource.type));\n }\n else\n \"stylesheet\" === resource.type &&\n 0 === (resource.state.loading & 4) &&\n ((instance = resource.instance),\n (resource.state.loading |= 4),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n}\nfunction insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n}\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);\n}\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n}\nvar tagCaches = null;\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n \"http://www.w3.org/2000/svg\" !== node.namespaceURI\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n}\nfunction mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n}\nfunction isHostHoistableType(type, props, hostContext) {\n if (1 === hostContext || null != props.itemProp) return !1;\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n )\n break;\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n )\n break;\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.disabled),\n \"string\" === typeof props.precedence && null == type\n );\n default:\n return !0;\n }\n case \"script\":\n if (\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async &&\n !props.onLoad &&\n !props.onError &&\n props.src &&\n \"string\" === typeof props.src\n )\n return !0;\n }\n return !1;\n}\nfunction preloadResource(resource) {\n return \"stylesheet\" === resource.type && 0 === (resource.state.loading & 3)\n ? !1\n : !0;\n}\nfunction suspendResource(state, hoistableRoot, resource, props) {\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n 0 === (resource.state.loading & 4)\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= 4;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n 0 === (resource.state.loading & 3) &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n}\nvar estimatedBytesWithinLimit = 0;\nfunction waitForCommitToBeReady(state, timeoutOffset) {\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count || 0 < state.imgCount\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4 + timeoutOffset);\n 0 < state.imgBytes &&\n 0 === estimatedBytesWithinLimit &&\n (estimatedBytesWithinLimit = 62500 * estimateBandwidth());\n var imgTimer = setTimeout(\n function () {\n state.waitingForImages = !1;\n if (\n 0 === state.count &&\n (state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets),\n state.unsuspend)\n ) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n },\n (state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +\n timeoutOffset\n );\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n clearTimeout(imgTimer);\n };\n }\n : null;\n}\nfunction onUnsuspend() {\n this.count--;\n if (0 === this.count && (0 === this.imgCount || !this.waitingForImages))\n if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);\n else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n}\nvar precedencesByRoot = null;\nfunction insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n}\nfunction insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & 4)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(null);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(null, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(null, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= 4;\n }\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: sharedNotPendingObject,\n _currentValue2: sharedNotPendingObject,\n _threadCount: 0\n};\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator\n) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiberImplClass(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n}\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n}\nfunction updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n}\nfunction markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n}\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n}\nfunction attemptContinuousHydration(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n}\nfunction attemptHydrationAtCurrentPriority(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var lane = requestUpdateLane();\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n}\nvar _enabled = !0;\nfunction dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 2),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 8),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 31:\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n}\nvar return_targetInst = null;\nfunction findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (31 === tag) {\n targetNode = getActivityInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 2;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 8;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return 2;\n case UserBlockingPriority:\n return 8;\n case NormalPriority$1:\n case LowPriority:\n return 32;\n case IdlePriority:\n return 268435456;\n default:\n return 32;\n }\n default:\n return 32;\n }\n}\nvar hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"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\".split(\n \" \"\n );\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n}\nfunction queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n}\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (31 === targetInst) {\n if (\n ((targetInst = getActivityInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n}\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n );\n currentReplayingEvent = nativeEventClone;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n}\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n}\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n}\nvar lastScheduledReplayQueue = null;\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (null === findInstanceBlockingTarget(submitterOrAction || form))\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n startHostTransition(\n formInst,\n {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n },\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n}\nfunction retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (submitterOrAction && submitterOrAction.hasAttribute(\"formAction\"))\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n}\nfunction defaultOnDefaultTransitionIndicator() {\n function handleNavigate(event) {\n event.canIntercept &&\n \"react-transition\" === event.info &&\n event.intercept({\n handler: function () {\n return new Promise(function (resolve) {\n return (pendingResolve = resolve);\n });\n },\n focusReset: \"manual\",\n scroll: \"manual\"\n });\n }\n function handleNavigateComplete() {\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n isCancelled || setTimeout(startFakeNavigation, 20);\n }\n function startFakeNavigation() {\n if (!isCancelled && !navigation.transition) {\n var currentEntry = navigation.currentEntry;\n currentEntry &&\n null != currentEntry.url &&\n navigation.navigate(currentEntry.url, {\n state: currentEntry.getState(),\n info: \"react-transition\",\n history: \"replace\"\n });\n }\n }\n if (\"object\" === typeof navigation) {\n var isCancelled = !1,\n pendingResolve = null;\n navigation.addEventListener(\"navigate\", handleNavigate);\n navigation.addEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.addEventListener(\"navigateerror\", handleNavigateComplete);\n setTimeout(startFakeNavigation, 100);\n return function () {\n isCancelled = !0;\n navigation.removeEventListener(\"navigate\", handleNavigate);\n navigation.removeEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.removeEventListener(\"navigateerror\", handleNavigateComplete);\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n };\n }\n}\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(formatProdErrorMessage(409));\n var current = root.current,\n lane = requestUpdateLane();\n updateContainerImpl(current, lane, children, root, null, null);\n };\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var root = this._internalRoot;\n if (null !== root) {\n this._internalRoot = null;\n var container = root.containerInfo;\n updateContainerImpl(root.current, 2, null, root, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n};\nvar isomorphicReactPackageVersion$jscomp$inline_1840 = React.version;\nif (\n \"19.2.4\" !==\n isomorphicReactPackageVersion$jscomp$inline_1840\n)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion$jscomp$inline_1840,\n \"19.2.4\"\n )\n );\nReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(formatProdErrorMessage(188));\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(formatProdErrorMessage(268, componentOrElement));\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n};\nvar internals$jscomp$inline_2347 = {\n bundleType: 0,\n version: \"19.2.4\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.2.4\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_2348 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_2348.isDisabled &&\n hook$jscomp$inline_2348.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_2348.inject(\n internals$jscomp$inline_2347\n )),\n (injectedHook = hook$jscomp$inline_2348);\n } catch (err) {}\n}\nexports.createRoot = function (container, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n null,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n};\nexports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane();\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n};\nexports.version = \"19.2.4\";\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-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n","/**\n * react-router v7.0.2\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n// lib/router/history.ts\nvar Action = /* @__PURE__ */ ((Action2) => {\n Action2[\"Pop\"] = \"POP\";\n Action2[\"Push\"] = \"PUSH\";\n Action2[\"Replace\"] = \"REPLACE\";\n return Action2;\n})(Action || {});\nvar PopStateEventType = \"popstate\";\nfunction createMemoryHistory(options = {}) {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries;\n entries = initialEntries.map(\n (entry, index2) => createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index2 === 0 ? \"default\" : void 0\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = \"POP\" /* Pop */;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state = null, key) {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n function createHref2(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref: createHref2,\n createURL(to) {\n return new URL(createHref2(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = \"PUSH\" /* Push */;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = \"REPLACE\" /* Replace */;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = \"POP\" /* Pop */;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\nfunction createBrowserHistory(options = {}) {\n function createBrowserLocation(window2, globalHistory) {\n let { pathname, search, hash } = window2.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null,\n globalHistory.state && globalHistory.state.key || \"default\"\n );\n }\n function createBrowserHref(window2, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\nfunction createHashHistory(options = {}) {\n function createHashLocation(window2, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window2.location.hash.substring(1));\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null,\n globalHistory.state && globalHistory.state.key || \"default\"\n );\n }\n function createHashHref(window2, to) {\n let base = window2.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window2.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n throw new Error(message);\n } catch (e) {\n }\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substring(2, 10);\n}\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\nfunction createLocation(current, to, state = null, key) {\n let location = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...typeof to === \"string\" ? parsePath(to) : to,\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n };\n return location;\n}\nfunction createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n}) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substring(hashIndex);\n path = path.substring(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substring(searchIndex);\n path = path.substring(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref2, validateLocation, options = {}) {\n let { window: window2 = document.defaultView, v5Compat = false } = options;\n let globalHistory = window2.history;\n let action = \"POP\" /* Pop */;\n let listener = null;\n let index = getIndex();\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n function getIndex() {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n function handlePop() {\n action = \"POP\" /* Pop */;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n function push(to, state) {\n action = \"PUSH\" /* Push */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n window2.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n function replace2(to, state) {\n action = \"REPLACE\" /* Replace */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n function createURL(to) {\n let base = window2.location.origin !== \"null\" ? window2.location.origin : window2.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n href = href.replace(/ $/, \"%20\");\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window2, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window2.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window2.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref2(window2, to);\n },\n createURL,\n encodeLocation(to) {\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace: replace2,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n\n// lib/router/utils.ts\nvar immutableRouteKeys = /* @__PURE__ */ new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\"\n]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties2, parentPath = [], manifest = {}) {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route id's must be globally unique within Data Router usages`\n );\n if (isIndexRoute(route)) {\n let indexRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id,\n children: void 0\n };\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties2,\n treePath,\n manifest\n );\n }\n return pathOrLayoutRoute;\n }\n });\n}\nfunction matchRoutes(routes, locationArg, basename = \"/\") {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\nfunction matchRoutesImpl(routes, locationArg, basename, allowPartial) {\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(\n branches[i],\n decoded,\n allowPartial\n );\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches = [], parentsMeta = [], parentPath = \"\") {\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === void 0 ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path \"${parentPath}\" is not valid. An absolute child route path must start with the combined path of all its parent routes.`\n );\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove all child routes from route path \"${path}\".`\n );\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n let isOptional = first.endsWith(\"?\");\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n result.push(\n ...restExploded.map(\n (subpath) => subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n if (isOptional) {\n result.push(...restExploded);\n }\n return result.map(\n (exploded) => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\nfunction rankRouteBranches(branches) {\n branches.sort(\n (a, b) => a.score !== b.score ? b.score - a.score : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\nvar paramRe = /^:[\\w-]+$/;\nvar dynamicSegmentValue = 3;\nvar indexRouteValue = 2;\nvar emptySegmentValue = 1;\nvar staticSegmentValue = 10;\nvar splatPenalty = -2;\nvar isSplat = (s) => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter((s) => !isSplat(s)).reduce(\n (score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue),\n initialScore\n );\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ? (\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n ) : (\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0\n );\n}\nfunction matchRouteBranch(branch, pathname, allowPartial = false) {\n let { routesMeta } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n let route = meta.route;\n if (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) {\n match = matchPath(\n {\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false\n },\n remainingPathname\n );\n }\n if (!match) {\n return null;\n }\n Object.assign(matchedParams, match.params);\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\nfunction generatePath(originalPath, params = {}) {\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\");\n }\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = (p) => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n return segment.replace(/\\?$/g, \"\");\n }).filter((segment) => !!segment);\n return prefix + segments.join(\"/\");\n}\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n let [matcher, compiledParams] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce(\n (memo2, { paramName, isOptional }, index) => {\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo2[paramName] = void 0;\n } else {\n memo2[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo2;\n },\n {}\n );\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive = false, end = true) {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\").replace(/^\\/*/, \"/\").replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\").replace(\n /\\/:([\\w-]+)(\\?)?/g,\n (_, paramName, isOptional) => {\n params.push({ paramName, isOptional: isOptional != null });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n }\n );\n if (path.endsWith(\"*\")) {\n params.push({ paramName: \"*\" });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" : \"(?:\\\\/(.+)|\\\\/*)$\";\n } else if (end) {\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n }\n let matcher = new RegExp(regexpSource, caseSensitive ? void 0 : \"i\");\n return [matcher, params];\n}\nfunction decodePath(value) {\n try {\n return value.split(\"/\").map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (${error}).`\n );\n return value;\n }\n}\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\nfunction resolvePath(to, fromPathname = \"/\") {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return `Cannot include a '${char}' character in a manually specified \\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the \\`to.${dest}\\` field. Alternatively you may provide the full path as a string in <Link to=\"...\"> and the router will parse it for you.`;\n}\nfunction getPathContributingMatches(matches) {\n return matches.filter(\n (match, index) => index === 0 || match.route.path && match.route.path.length > 0\n );\n}\nfunction getResolveToMatches(matches) {\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches.map(\n (match, idx) => idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase\n );\n}\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative = false) {\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\nvar joinPaths = (paths) => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nvar normalizePathname = (pathname) => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\nvar normalizeSearch = (search) => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\nvar normalizeHash = (hash) => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\nvar DataWithResponseInit = class {\n constructor(data2, init) {\n this.type = \"DataWithResponseInit\";\n this.data = data2;\n this.init = init || null;\n }\n};\nfunction data(data2, init) {\n return new DataWithResponseInit(\n data2,\n typeof init === \"number\" ? { status: init } : init\n );\n}\nvar redirect = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, {\n ...responseInit,\n headers\n });\n};\nvar redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\nvar replace = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\nvar ErrorResponseImpl = class {\n constructor(status, statusText, data2, internal = false) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data2 instanceof Error) {\n this.data = data2.toString();\n this.error = data2;\n } else {\n this.data = data2;\n }\n }\n};\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\n// lib/router/router.ts\nvar validMutationMethodsArr = [\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"DELETE\"\n];\nvar validMutationMethods = new Set(\n validMutationMethodsArr\n);\nvar validRequestMethodsArr = [\n \"GET\",\n ...validMutationMethodsArr\n];\nvar validRequestMethods = new Set(validRequestMethodsArr);\nvar redirectStatusCodes = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);\nvar redirectPreserveMethodStatusCodes = /* @__PURE__ */ new Set([307, 308]);\nvar IDLE_NAVIGATION = {\n state: \"idle\",\n location: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_FETCHER = {\n state: \"idle\",\n data: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: void 0,\n reset: void 0,\n location: void 0\n};\nvar ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar defaultMapRouteProperties = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nvar TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\nvar ResetLoaderDataSymbol = Symbol(\"ResetLoaderData\");\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : void 0;\n const isBrowser2 = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n let mapRouteProperties2 = init.mapRouteProperties || defaultMapRouteProperties;\n let manifest = {};\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n let future = {\n ...init.future\n };\n let unlistenHistory = null;\n let subscribers = /* @__PURE__ */ new Set();\n let savedScrollPositions2 = null;\n let getScrollRestorationKey2 = null;\n let getScrollPosition = null;\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(\n initialMatches,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n let initialized;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n let fogOfWar = checkFogOfWar(\n null,\n dataRoutes,\n init.history.location.pathname\n );\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatches = fogOfWar.matches;\n }\n } else if (initialMatches.some((m) => m.route.lazy)) {\n initialized = false;\n } else if (!initialMatches.some((m) => m.route.loader)) {\n initialized = true;\n } else {\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n if (errors) {\n let idx = initialMatches.findIndex(\n (m) => errors[m.route.id] !== void 0\n );\n initialized = initialMatches.slice(0, idx + 1).every((m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(\n (m) => !shouldLoadRouteOnHydration(m.route, loaderData, errors)\n );\n }\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: /* @__PURE__ */ new Map(),\n blockers: /* @__PURE__ */ new Map()\n };\n let pendingAction = \"POP\" /* Pop */;\n let pendingPreventScrollReset = false;\n let pendingNavigationController;\n let pendingViewTransitionEnabled = false;\n let appliedViewTransitions = /* @__PURE__ */ new Map();\n let removePageHideEventListener = null;\n let isUninterruptedRevalidation = false;\n let isRevalidationRequired = false;\n let cancelledFetcherLoads = /* @__PURE__ */ new Set();\n let fetchControllers = /* @__PURE__ */ new Map();\n let incrementingLoadId = 0;\n let pendingNavigationLoadId = -1;\n let fetchReloadIds = /* @__PURE__ */ new Map();\n let fetchRedirectIds = /* @__PURE__ */ new Set();\n let fetchLoadMatches = /* @__PURE__ */ new Map();\n let activeFetchers = /* @__PURE__ */ new Map();\n let fetchersQueuedForDeletion = /* @__PURE__ */ new Set();\n let blockerFunctions = /* @__PURE__ */ new Map();\n let unblockBlockerHistoryUpdate = void 0;\n let pendingRevalidationDfd = null;\n function initialize() {\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = void 0;\n return;\n }\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.\"\n );\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n let nextHistoryUpdatePromise = new Promise((resolve) => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location\n });\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({ blockers });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n }\n );\n if (isBrowser2) {\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n if (!state.initialized) {\n startNavigation(\"POP\" /* Pop */, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n function updateState(newState, opts = {}) {\n state = {\n ...state,\n ...newState\n };\n let unmountedFetchers = [];\n let mountedFetchers = [];\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (fetchersQueuedForDeletion.has(key)) {\n unmountedFetchers.push(key);\n } else {\n mountedFetchers.push(key);\n }\n }\n });\n [...subscribers].forEach(\n (subscriber) => subscriber(state, {\n deletedFetchers: unmountedFetchers,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true\n })\n );\n unmountedFetchers.forEach((key) => deleteFetcher(key));\n mountedFetchers.forEach((key) => state.fetchers.delete(key));\n }\n function completeNavigation(location, newState, { flushSync } = {}) {\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && location.state?._isRedirect !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n actionData = null;\n }\n } else if (isActionReload) {\n actionData = state.actionData;\n } else {\n actionData = null;\n }\n let loaderData = newState.loaderData ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n ) : state.loaderData;\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && location.state?._isRedirect !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = void 0;\n }\n if (isUninterruptedRevalidation) {\n } else if (pendingAction === \"POP\" /* Pop */) {\n } else if (pendingAction === \"PUSH\" /* Push */) {\n init.history.push(location, location.state);\n } else if (pendingAction === \"REPLACE\" /* Replace */) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n if (pendingAction === \"POP\" /* Pop */) {\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = /* @__PURE__ */ new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(\n {\n ...newState,\n // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers\n },\n {\n viewTransitionOpts,\n flushSync: flushSync === true\n }\n );\n pendingAction = \"POP\" /* Pop */;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n pendingRevalidationDfd?.resolve();\n pendingRevalidationDfd = null;\n }\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n false,\n normalizedPath,\n opts\n );\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation)\n };\n let userReplace = opts && opts.replace != null ? opts.replace : void 0;\n let historyAction = \"PUSH\" /* Push */;\n if (userReplace === true) {\n historyAction = \"REPLACE\" /* Replace */;\n } else if (userReplace === false) {\n } else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n historyAction = \"REPLACE\" /* Replace */;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : void 0;\n let flushSync = (opts && opts.flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location: nextLocation\n });\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({ blockers });\n }\n });\n return;\n }\n await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync\n });\n }\n function revalidate() {\n if (!pendingRevalidationDfd) {\n pendingRevalidationDfd = createDeferred();\n }\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n let promise = pendingRevalidationDfd.promise;\n if (state.navigation.state === \"submitting\") {\n return promise;\n }\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return promise;\n }\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true\n }\n );\n return promise;\n }\n async function startNavigation(historyAction, location, opts) {\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n completeNavigation(\n location,\n {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n },\n { flushSync }\n );\n return;\n }\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, { matches }, { flushSync });\n return;\n }\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionResult;\n if (opts && opts.pendingError) {\n pendingActionResult = [\n findNearestBoundary(matches).route.id,\n { type: \"error\" /* error */, error: opts.pendingError }\n ];\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n let actionResult = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n fogOfWar.active,\n { replace: opts.replace, flushSync }\n );\n if (actionResult.shortCircuited) {\n return;\n }\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (isErrorResult(result) && isRouteErrorResponse(result.error) && result.error.status === 404) {\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error\n }\n });\n return;\n }\n }\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n fogOfWar.active = false;\n request = createClientSideRequest(\n init.history,\n request.url,\n request.signal\n );\n }\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors\n } = await handleLoaders(\n request,\n location,\n matches,\n fogOfWar.active,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n opts && opts.initialHydration === true,\n flushSync,\n pendingActionResult\n );\n if (shortCircuited) {\n return;\n }\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors\n });\n }\n async function handleAction(request, location, submission, matches, isFogOfWar, opts = {}) {\n interruptActiveLoads();\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation }, { flushSync: opts.flushSync === true });\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [\n boundaryId,\n {\n type: \"error\" /* error */,\n error: discoverResult.error\n }\n ]\n };\n } else if (!discoverResult.matches) {\n let { notFoundMatches, error, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n pendingActionResult: [\n route.id,\n {\n type: \"error\" /* error */,\n error\n }\n ]\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: \"error\" /* error */,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n state,\n request,\n [actionMatch],\n matches,\n null\n );\n result = results[actionMatch.route.id];\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n if (isRedirectResult(result)) {\n let replace2;\n if (opts && opts.replace != null) {\n replace2 = opts.replace;\n } else {\n let location2 = normalizeRedirectLocation(\n result.response.headers.get(\"Location\"),\n new URL(request.url),\n basename\n );\n replace2 = location2 === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace: replace2\n });\n return { shortCircuited: true };\n }\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n if ((opts && opts.replace) !== true) {\n pendingAction = \"PUSH\" /* Push */;\n }\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result]\n };\n }\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result]\n };\n }\n async function handleLoaders(request, location, matches, isFogOfWar, overrideNavigation, submission, fetcherSubmission, replace2, initialHydration, flushSync, pendingActionResult) {\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let shouldUpdateNavigationState = !isUninterruptedRevalidation && !initialHydration;\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState(\n {\n navigation: loadingNavigation,\n ...actionData !== void 0 ? { actionData } : {}\n },\n {\n flushSync\n }\n );\n }\n let discoverResult = await discoverRoutes(\n matches,\n location.pathname,\n request.signal\n );\n if (discoverResult.type === \"aborted\") {\n return { shortCircuited: true };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error\n }\n };\n } else if (!discoverResult.matches) {\n let { error, notFoundMatches, route } = handleNavigational404(\n location.pathname\n );\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n initialHydration === true,\n isRevalidationRequired,\n cancelledFetcherLoads,\n fetchersQueuedForDeletion,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionResult\n );\n pendingNavigationLoadId = ++incrementingLoadId;\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers2 = markFetchRedirectsDone();\n completeNavigation(\n location,\n {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? { [pendingActionResult[0]]: pendingActionResult[1].error } : null,\n ...getActionDataForCommit(pendingActionResult),\n ...updatedFetchers2 ? { fetchers: new Map(state.fetchers) } : {}\n },\n { flushSync }\n );\n return { shortCircuited: true };\n }\n if (shouldUpdateNavigationState) {\n let updates = {};\n if (!isFogOfWar) {\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== void 0) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, { flushSync });\n }\n revalidatingFetchers.forEach((rf) => {\n abortFetcher(rf.key);\n if (rf.controller) {\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n let { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return { shortCircuited: true };\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return { shortCircuited: true };\n }\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n pendingActionResult,\n revalidatingFetchers,\n fetcherResults\n );\n if (initialHydration && state.errors) {\n errors = { ...state.errors, ...errors };\n }\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return {\n matches,\n loaderData,\n errors,\n ...shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}\n };\n }\n function getUpdatedActionData(pendingActionResult) {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n function getUpdatedRevalidatingFetchers(revalidatingFetchers) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n void 0,\n fetcher ? fetcher.data : void 0\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n async function fetch2(key, routeId, href, opts) {\n abortFetcher(key);\n let flushSync = (opts && opts.flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath }),\n { flushSync }\n );\n return;\n }\n let { path, submission, error } = normalizeNavigateOptions(\n true,\n normalizedPath,\n opts\n );\n if (error) {\n setFetcherError(key, routeId, error, { flushSync });\n return;\n }\n let match = getTargetMatch(matches, path);\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n await handleFetcherAction(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n return;\n }\n fetchLoadMatches.set(key, { routeId, path });\n await handleFetcherLoader(\n key,\n routeId,\n path,\n match,\n matches,\n fogOfWar.active,\n flushSync,\n preventScrollReset,\n submission\n );\n }\n async function handleFetcherAction(key, routeId, path, match, requestMatches, isFogOfWar, flushSync, preventScrollReset, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n function detectAndHandle405Error(m) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId\n });\n setFetcherError(key, routeId, error, { flushSync });\n return true;\n }\n return false;\n }\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n requestMatches,\n path,\n fetchRequest.signal\n );\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\n \"action\",\n state,\n fetchRequest,\n [match],\n requestMatches,\n key\n );\n let actionResult = actionResults[match.route.id];\n if (fetchRequest.signal.aborted) {\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset\n });\n }\n }\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n false,\n isRevalidationRequired,\n cancelledFetcherLoads,\n fetchersQueuedForDeletion,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n [match.route.id, actionResult]\n );\n revalidatingFetchers.filter((rf) => rf.key !== key).forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher2 = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n void 0,\n existingFetcher2 ? existingFetcher2.data : void 0\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({ fetchers: new Map(state.fetchers) });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n let { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(\n state,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n return startRedirectNavigation(\n revalidationRequest,\n redirect2.result,\n false,\n { preventScrollReset }\n );\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n return startRedirectNavigation(\n revalidationRequest,\n redirect2.result,\n false,\n { preventScrollReset }\n );\n }\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n loaderResults,\n void 0,\n revalidatingFetchers,\n fetcherResults\n );\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n async function handleFetcherLoader(key, routeId, path, match, matches, isFogOfWar, flushSync, preventScrollReset, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(\n key,\n getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : void 0\n ),\n { flushSync }\n );\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(\n matches,\n path,\n fetchRequest.signal\n );\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, { flushSync });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: path }),\n { flushSync }\n );\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\n \"loader\",\n state,\n fetchRequest,\n [match],\n matches,\n key\n );\n let result = results[match.route.id];\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset\n });\n return;\n }\n }\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n async function startRedirectNavigation(request, redirect2, isNavigation, {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace: replace2\n } = {}) {\n if (redirect2.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n let location = redirect2.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(\n location,\n new URL(request.url),\n basename\n );\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true\n });\n if (isBrowser2) {\n let isDocumentReload = false;\n if (redirect2.response.headers.has(\"X-Remix-Reload-Document\")) {\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload = // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin || // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace2) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n pendingNavigationController = null;\n let redirectNavigationType = replace2 === true || redirect2.response.headers.has(\"X-Remix-Replace\") ? \"REPLACE\" /* Replace */ : \"PUSH\" /* Push */;\n let { formMethod, formAction, formEncType } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect2.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectNavigationType, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n } else {\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n submission\n );\n await startNavigation(redirectNavigationType, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n }\n }\n async function callDataStrategy(type, state2, request, matchesToLoad, matches, fetcherKey) {\n let results;\n let dataResults = {};\n try {\n results = await callDataStrategyImpl(\n dataStrategyImpl,\n type,\n state2,\n request,\n matchesToLoad,\n matches,\n fetcherKey,\n manifest,\n mapRouteProperties2\n );\n } catch (e) {\n matchesToLoad.forEach((m) => {\n dataResults[m.route.id] = {\n type: \"error\" /* error */,\n error: e\n };\n });\n return dataResults;\n }\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n dataResults[routeId] = {\n type: \"redirect\" /* redirect */,\n response: normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n routeId,\n matches,\n basename\n )\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(\n result\n );\n }\n }\n return dataResults;\n }\n async function callLoadersAndMaybeResolveData(state2, matches, matchesToLoad, fetchersToLoad, request) {\n let loaderResultsPromise = callDataStrategy(\n \"loader\",\n state2,\n request,\n matchesToLoad,\n matches,\n null\n );\n let fetcherResultsPromise = Promise.all(\n fetchersToLoad.map(async (f) => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\n \"loader\",\n state2,\n createClientSideRequest(init.history, f.path, f.controller.signal),\n [f.match],\n f.matches,\n f.key\n );\n let result = results[f.match.route.id];\n return { [f.key]: result };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: \"error\" /* error */,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n }\n });\n }\n })\n );\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce(\n (acc, r) => Object.assign(acc, r),\n {}\n );\n return {\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n isRevalidationRequired = true;\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n function updateFetcherState(key, fetcher, opts = {}) {\n state.fetchers.set(key, fetcher);\n updateState(\n { fetchers: new Map(state.fetchers) },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n function setFetcherError(key, routeId, error, opts = {}) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState(\n {\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n },\n { flushSync: (opts && opts.flushSync) === true }\n );\n }\n function getFetcher(key) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n if (fetchersQueuedForDeletion.has(key)) {\n fetchersQueuedForDeletion.delete(key);\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n fetchersQueuedForDeletion.delete(key);\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n function queueFetcherForDeletion(key) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n fetchersQueuedForDeletion.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n updateState({ fetchers: new Map(state.fetchers) });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n invariant(\n blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\",\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n }) {\n if (blockerFunctions.size === 0) {\n return;\n }\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n return;\n }\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n function handleNavigational404(pathname) {\n let error = getInternalRouterError(404, { pathname });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let { matches, route } = getShortCircuitMatches(routesToUse);\n return { notFoundMatches: matches, route, error };\n }\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions2 = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey2 = getKey || null;\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n return () => {\n savedScrollPositions2 = null;\n getScrollPosition = null;\n getScrollRestorationKey2 = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey2) {\n let key = getScrollRestorationKey2(\n location,\n matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions2 && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions2[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions2) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions2[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function checkFogOfWar(matches, routesToUse, pathname) {\n if (patchRoutesOnNavigationImpl) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: fogMatches || [] };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n let partialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n return { active: true, matches: partialMatches };\n }\n }\n }\n return { active: false, matches: null };\n }\n async function discoverRoutes(matches, pathname, signal) {\n if (!patchRoutesOnNavigationImpl) {\n return { type: \"success\", matches };\n }\n let partialMatches = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await patchRoutesOnNavigationImpl({\n path: pathname,\n matches: partialMatches,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n localManifest,\n mapRouteProperties2\n );\n }\n });\n } catch (e) {\n return { type: \"error\", error: e, partialMatches };\n } finally {\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n if (signal.aborted) {\n return { type: \"aborted\" };\n }\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return { type: \"success\", matches: newMatches };\n }\n let newPartialMatches = matchRoutesImpl(\n routesToUse,\n pathname,\n basename,\n true\n );\n if (!newPartialMatches || partialMatches.length === newPartialMatches.length && partialMatches.every(\n (m, i) => m.route.id === newPartialMatches[i].route.id\n )) {\n return { type: \"success\", matches: null };\n }\n partialMatches = newPartialMatches;\n }\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n }\n function patchRoutes(routeId, children) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(\n routeId,\n children,\n routesToUse,\n manifest,\n mapRouteProperties2\n );\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch: fetch2,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to) => init.history.createHref(to),\n encodeLocation: (to) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: queueFetcherForDeletion,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\nfunction createStaticHandler(routes, opts) {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties2 = opts?.mapRouteProperties || defaultMapRouteProperties;\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties2,\n void 0,\n manifest\n );\n async function query(request, {\n requestContext,\n skipLoaderErrorBubbling,\n dataStrategy\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n }\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n skipLoaderErrorBubbling === true,\n null\n );\n if (isResponse(result)) {\n return result;\n }\n return { location, basename, ...result };\n }\n async function queryRoute(request, {\n routeId,\n requestContext,\n dataStrategy\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n let match = routeId ? matches.find((m) => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n dataStrategy || null,\n false,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : void 0;\n if (error !== void 0) {\n throw error;\n }\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n return Object.values(result.loaderData)[0];\n }\n return void 0;\n }\n async function queryImpl(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch) {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n try {\n if (isMutationMethod(request.method)) {\n let result2 = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch != null\n );\n return result2;\n }\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n routeMatch\n );\n return isResponse(result) ? result : {\n ...result,\n actionData: null,\n actionHeaders: {}\n };\n } catch (e) {\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === \"error\" /* error */) {\n throw e.result;\n }\n return e.result;\n }\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, dataStrategy, skipLoaderErrorBubbling, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: \"error\" /* error */,\n error\n };\n } else {\n let results = await callDataStrategy(\n \"action\",\n request,\n [actionMatch],\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n result = results[actionMatch.route.id];\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n }\n if (isRedirectResult(result)) {\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")\n }\n });\n }\n if (isRouteRequest) {\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {}\n };\n }\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n if (isErrorResult(result)) {\n let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n let context2 = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null,\n [boundaryMatch.route.id, result]\n );\n return {\n ...context2,\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n actionData: null,\n actionHeaders: {\n ...result.headers ? { [actionMatch.route.id]: result.headers } : {}\n }\n };\n }\n let context = await loadRouteData(\n loaderRequest,\n matches,\n requestContext,\n dataStrategy,\n skipLoaderErrorBubbling,\n null\n );\n return {\n ...context,\n actionData: {\n [actionMatch.route.id]: result.data\n },\n // action status codes take precedence over loader status codes\n ...result.statusCode ? { statusCode: result.statusCode } : {},\n actionHeaders: result.headers ? { [actionMatch.route.id]: result.headers } : {}\n };\n }\n async function loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, pendingActionResult) {\n let isRouteRequest = routeMatch != null;\n if (isRouteRequest && !routeMatch?.route.loader && !routeMatch?.route.lazy) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : pendingActionResult && isErrorResult(pendingActionResult[1]) ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]) : matches;\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n [pendingActionResult[0]]: pendingActionResult[1].error\n } : null,\n statusCode: 200,\n loaderHeaders: {}\n };\n }\n let results = await callDataStrategy(\n \"loader\",\n request,\n matchesToLoad,\n matches,\n isRouteRequest,\n requestContext,\n dataStrategy\n );\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n let context = processRouteLoaderData(\n matches,\n results,\n pendingActionResult,\n true,\n skipLoaderErrorBubbling\n );\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return {\n ...context,\n matches\n };\n }\n async function callDataStrategy(type, request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy) {\n let results = await callDataStrategyImpl(\n dataStrategy || defaultDataStrategy,\n type,\n null,\n request,\n matchesToLoad,\n matches,\n null,\n manifest,\n mapRouteProperties2,\n requestContext\n );\n let dataResults = {};\n await Promise.all(\n matches.map(async (match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n throw normalizeRelativeRoutingRedirectResponse(\n response,\n request,\n match.route.id,\n matches,\n basename\n );\n }\n if (isResponse(result.result) && isRouteRequest) {\n throw result;\n }\n dataResults[match.route.id] = await convertDataStrategyResultToDataResult(result);\n })\n );\n return dataResults;\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = {\n ...context,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n };\n return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest) {\n if (request.signal.reason !== void 0) {\n throw request.signal.reason;\n }\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(\n `${method}() call aborted without an \\`AbortSignal.reason\\`: ${request.method} ${request.url}`\n );\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== void 0);\n}\nfunction normalizeTo(location, matches, basename, to, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n let path = resolveTo(\n to ? to : \".\",\n getResolveToMatches(contextualMatches),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\nfunction normalizeNavigateOptions(isFetcher, path, opts) {\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" })\n });\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = rawFormMethod.toUpperCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== void 0) {\n if (opts.formEncType === \"text/plain\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ? (\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\n`,\n \"\"\n )\n ) : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json: void 0,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json,\n text: void 0\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: void 0,\n text: void 0\n };\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n let parsedPath = parsePath(path);\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n return { path: createPath(parsedPath), submission };\n}\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId, includeBoundary = false) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, initialHydration, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult) {\n let actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : void 0;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(state.errors)[0],\n true\n );\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n boundaryMatches = getLoaderMatchesUntilBoundary(\n matches,\n pendingActionResult[0]\n );\n }\n let actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : void 0;\n let shouldSkipRevalidation = actionStatus && actionStatus >= 400;\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let { route } = match;\n if (route.lazy) {\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n if (isNewLoader(state.loaderData, state.matches[index], match)) {\n return true;\n }\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false : (\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired || currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search || // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n )\n });\n });\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n if (initialHydration || !matches.some((m) => m.route.id === f.routeId) || fetchersQueuedForDeletion.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === void 0) {\n shouldRevalidate = isRevalidationRequired;\n } else {\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false : isRevalidationRequired\n });\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction shouldLoadRouteOnHydration(route, loaderData, errors) {\n if (route.lazy) {\n return true;\n }\n if (!route.loader) {\n return false;\n }\n let hasData = loaderData != null && loaderData[route.id] !== void 0;\n let hasError = errors != null && errors[route.id] !== void 0;\n if (!hasData && hasError) {\n return false;\n }\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n return !hasData && !hasError;\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew = (\n // [a] -> [a, b]\n !currentMatch || // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id\n );\n let isMissingData = !currentLoaderData.hasOwnProperty(match.route.id);\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname || // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\nfunction patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties2) {\n let childrenToPatch;\n if (routeId) {\n let route = manifest[routeId];\n invariant(\n route,\n `No route found to patch children into: routeId = ${routeId}`\n );\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n let uniqueChildren = children.filter(\n (newRoute) => !childrenToPatch.some(\n (existingRoute) => isSameRoute(newRoute, existingRoute)\n )\n );\n let newRoutes = convertRoutesToDataRoutes(\n uniqueChildren,\n mapRouteProperties2,\n [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")],\n manifest\n );\n childrenToPatch.push(...newRoutes);\n}\nfunction isSameRoute(newRoute, existingRoute) {\n if (\"id\" in newRoute && \"id\" in existingRoute && newRoute.id === existingRoute.id) {\n return true;\n }\n if (!(newRoute.index === existingRoute.index && newRoute.path === existingRoute.path && newRoute.caseSensitive === existingRoute.caseSensitive)) {\n return false;\n }\n if ((!newRoute.children || newRoute.children.length === 0) && (!existingRoute.children || existingRoute.children.length === 0)) {\n return true;\n }\n return newRoute.children.every(\n (aChild, i) => existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))\n );\n}\nasync function loadLazyRouteModule(route, mapRouteProperties2, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== void 0 && // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" defined but its lazy function is also returning a value for this property. The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n Object.assign(routeToUpdate, routeUpdates);\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided `mapRouteProperties`\n // function to set the framework-aware properties (`element`/`hasErrorBoundary`)\n // since the logic will differ between frameworks.\n ...mapRouteProperties2(routeToUpdate),\n lazy: void 0\n });\n}\nasync function defaultDataStrategy({\n matches\n}) {\n let matchesToLoad = matches.filter((m) => m.shouldLoad);\n let results = await Promise.all(matchesToLoad.map((m) => m.resolve()));\n return results.reduce(\n (acc, result, i) => Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n}\nasync function callDataStrategyImpl(dataStrategyImpl, type, state, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties2, requestContext) {\n let loadRouteDefinitionsPromises = matches.map(\n (m) => m.route.lazy ? loadLazyRouteModule(m.route, mapRouteProperties2, manifest) : void 0\n );\n let dsMatches = matches.map((match, i) => {\n let loadRoutePromise = loadRouteDefinitionsPromises[i];\n let shouldLoad = matchesToLoad.some((m) => m.route.id === match.route.id);\n let resolve = async (handlerOverride) => {\n if (handlerOverride && request.method === \"GET\" && (match.route.lazy || match.route.loader)) {\n shouldLoad = true;\n }\n return shouldLoad ? callLoaderOrAction(\n type,\n request,\n match,\n loadRoutePromise,\n handlerOverride,\n requestContext\n ) : Promise.resolve({ type: \"data\" /* data */, result: void 0 });\n };\n return {\n ...match,\n shouldLoad,\n resolve\n };\n });\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: requestContext\n });\n try {\n await Promise.all(loadRouteDefinitionsPromises);\n } catch (e) {\n }\n return results;\n}\nasync function callLoaderOrAction(type, request, match, loadRoutePromise, handlerOverride, staticContext) {\n let result;\n let onReject;\n let runHandler = (handler) => {\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n let actualHandler = (ctx) => {\n if (typeof handler !== \"function\") {\n return Promise.reject(\n new Error(\n `You cannot call the handler for a route which defines a boolean \"${type}\" [routeId: ${match.route.id}]`\n )\n );\n }\n return handler(\n {\n request,\n params: match.params,\n context: staticContext\n },\n ...ctx !== void 0 ? [ctx] : []\n );\n };\n let handlerPromise = (async () => {\n try {\n let val = await (handlerOverride ? handlerOverride((ctx) => actualHandler(ctx)) : actualHandler());\n return { type: \"data\", result: val };\n } catch (e) {\n return { type: \"error\", result: e };\n }\n })();\n return Promise.race([handlerPromise, abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (loadRoutePromise) {\n if (handler) {\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch((e) => {\n handlerError = e;\n }),\n loadRoutePromise\n ]);\n if (handlerError !== void 0) {\n throw handlerError;\n }\n result = value;\n } else {\n await loadRoutePromise;\n handler = match.route[type];\n if (handler) {\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n return { type: \"data\" /* data */, result: void 0 };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n } catch (e) {\n return { type: \"error\" /* error */, result: e };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n return result;\n}\nasync function convertDataStrategyResultToDataResult(dataStrategyResult) {\n let { result, type } = dataStrategyResult;\n if (isResponse(result)) {\n let data2;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data2 = null;\n } else {\n data2 = await result.json();\n }\n } else {\n data2 = await result.text();\n }\n } catch (e) {\n return { type: \"error\" /* error */, error: e };\n }\n if (type === \"error\" /* error */) {\n return {\n type: \"error\" /* error */,\n error: new ErrorResponseImpl(result.status, result.statusText, data2),\n statusCode: result.status,\n headers: result.headers\n };\n }\n return {\n type: \"data\" /* data */,\n data: data2,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (type === \"error\" /* error */) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: \"error\" /* error */,\n error: result.data,\n statusCode: result.init?.status\n };\n }\n result = new ErrorResponseImpl(\n result.init?.status || 500,\n void 0,\n result.data\n );\n }\n return {\n type: \"error\" /* error */,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : void 0\n };\n }\n if (isDataWithResponseInit(result)) {\n return {\n type: \"data\" /* data */,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers ? new Headers(result.init.headers) : void 0\n };\n }\n return { type: \"data\" /* data */, data: result };\n}\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename) {\n let location = response.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(\n 0,\n matches.findIndex((m) => m.route.id === routeId) + 1\n );\n location = normalizeTo(\n new URL(request.url),\n trimmedMatches,\n basename,\n location\n );\n response.headers.set(\"Location\", location);\n }\n return response;\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename) {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\") ? new URL(currentUrl.protocol + normalizedLocation) : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = { signal };\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, results, pendingActionResult, isStaticHandler = false, skipLoaderErrorBubbling = false) {\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n let pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : void 0;\n matches.forEach((match) => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n let error = result.error;\n if (pendingError !== void 0) {\n error = pendingError;\n pendingError = void 0;\n }\n errors = errors || {};\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n if (!isStaticHandler) {\n loaderData[id] = ResetLoaderDataSymbol;\n }\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n if (pendingError !== void 0 && pendingActionResult) {\n errors = { [pendingActionResult[0]]: pendingError };\n loaderData[pendingActionResult[0]] = void 0;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, results, pendingActionResult, revalidatingFetchers, fetcherResults) {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n results,\n pendingActionResult\n );\n revalidatingFetchers.forEach((rf) => {\n let { key, match, controller } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n if (controller && controller.signal.aborted) {\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n return { loaderData, errors };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {\n merged[k] = v;\n return merged;\n }, {});\n for (let match of matches) {\n let id = match.route.id;\n if (!newLoaderData.hasOwnProperty(id) && loaderData.hasOwnProperty(id) && match.route.loader) {\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n break;\n }\n }\n return mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1]) ? {\n // Clear out prior actionData on errors\n actionData: {}\n } : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data\n }\n };\n}\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n let route = routes.length === 1 ? routes[0] : routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`\n };\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }\n ],\n route\n };\n}\nfunction getInternalRouterError(status, {\n pathname,\n routeId,\n method,\n type,\n message\n} = {}) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method} request to \"${pathname}\" but did not provide a \\`loader\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method.toUpperCase()} request to \"${pathname}\" but did not provide an \\`action\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n return new ErrorResponseImpl(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\nfunction findRedirect(results) {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return { key, result };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n return true;\n } else if (b.hash !== \"\") {\n return true;\n }\n return false;\n}\nfunction isDataStrategyResult(result) {\n return result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === \"data\" /* data */ || result.type === \"error\" /* error */);\n}\nfunction isRedirectDataStrategyResult(result) {\n return isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isErrorResult(result) {\n return result.type === \"error\" /* error */;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === \"redirect\" /* redirect */;\n}\nfunction isDataWithResponseInit(value) {\n return typeof value === \"object\" && value != null && \"type\" in value && \"data\" in value && \"init\" in value && value.type === \"DataWithResponseInit\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectStatusCode(statusCode) {\n return redirectStatusCodes.has(statusCode);\n}\nfunction isRedirectResponse(result) {\n return isResponse(result) && isRedirectStatusCode(result.status) && result.headers.has(\"Location\");\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toUpperCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toUpperCase());\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n return matches[matches.length - 1];\n }\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let { formMethod, formAction, formEncType, text, formData, json } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json: void 0,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: void 0,\n text: void 0\n };\n } else if (json !== void 0) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json,\n text: void 0\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data2) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: data2\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : void 0\n };\n return fetcher;\n}\nfunction getDoneFetcher(data2) {\n let fetcher = {\n state: \"idle\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(\n TRANSITIONS_STORAGE_KEY\n );\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(\n TRANSITIONS_STORAGE_KEY,\n JSON.stringify(json)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save applied view transitions in sessionStorage (${error}).`\n );\n }\n }\n}\nfunction createDeferred() {\n let resolve;\n let reject;\n let promise = new Promise((res, rej) => {\n resolve = async (val) => {\n res(val);\n try {\n await promise;\n } catch (e) {\n }\n };\n reject = async (error) => {\n rej(error);\n try {\n await promise;\n } catch (e) {\n }\n };\n });\n return {\n promise,\n //@ts-ignore\n resolve,\n //@ts-ignore\n reject\n };\n}\n\n// lib/components.tsx\nimport * as React3 from \"react\";\n\n// lib/context.ts\nimport * as React from \"react\";\nvar DataRouterContext = React.createContext(null);\nDataRouterContext.displayName = \"DataRouter\";\nvar DataRouterStateContext = React.createContext(null);\nDataRouterStateContext.displayName = \"DataRouterState\";\nvar ViewTransitionContext = React.createContext({\n isTransitioning: false\n});\nViewTransitionContext.displayName = \"ViewTransition\";\nvar FetchersContext = React.createContext(\n /* @__PURE__ */ new Map()\n);\nFetchersContext.displayName = \"Fetchers\";\nvar AwaitContext = React.createContext(null);\nAwaitContext.displayName = \"Await\";\nvar NavigationContext = React.createContext(\n null\n);\nNavigationContext.displayName = \"Navigation\";\nvar LocationContext = React.createContext(\n null\n);\nLocationContext.displayName = \"Location\";\nvar RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nRouteContext.displayName = \"Route\";\nvar RouteErrorContext = React.createContext(null);\nRouteErrorContext.displayName = \"RouteError\";\n\n// lib/hooks.tsx\nimport * as React2 from \"react\";\nvar ENABLE_DEV_WARNINGS = true;\nfunction useHref(to, { relative } = {}) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n let { basename, navigator: navigator2 } = React2.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator2.createHref({ pathname: joinedPathname, search, hash });\n}\nfunction useInRouterContext() {\n return React2.useContext(LocationContext) != null;\n}\nfunction useLocation() {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n return React2.useContext(LocationContext).location;\n}\nfunction useNavigationType() {\n return React2.useContext(LocationContext).navigationType;\n}\nfunction useMatch(pattern) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n let { pathname } = useLocation();\n return React2.useMemo(\n () => matchPath(pattern, decodePath(pathname)),\n [pathname, pattern]\n );\n}\nvar navigateEffectWarning = `You should call navigate() in a React.useEffect(), not when your component is first rendered.`;\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React2.useContext(NavigationContext).static;\n if (!isStatic) {\n React2.useLayoutEffect(cb);\n }\n}\nfunction useNavigate() {\n let { isDataRoute } = React2.useContext(RouteContext);\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n let dataRouterContext = React2.useContext(DataRouterContext);\n let { basename, navigator: navigator2 } = React2.useContext(NavigationContext);\n let { matches } = React2.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback(\n (to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator2.go(to);\n return;\n }\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator2.replace : navigator2.push)(\n path,\n options.state,\n options\n );\n },\n [\n basename,\n navigator2,\n routePathnamesJson,\n locationPathname,\n dataRouterContext\n ]\n );\n return navigate;\n}\nvar OutletContext = React2.createContext(null);\nfunction useOutletContext() {\n return React2.useContext(OutletContext);\n}\nfunction useOutlet(context) {\n let outlet = React2.useContext(RouteContext).outlet;\n if (outlet) {\n return /* @__PURE__ */ React2.createElement(OutletContext.Provider, { value: context }, outlet);\n }\n return outlet;\n}\nfunction useParams() {\n let { matches } = React2.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\nfunction useResolvedPath(to, { relative } = {}) {\n let { matches } = React2.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n return React2.useMemo(\n () => resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n let { navigator: navigator2 } = React2.useContext(NavigationContext);\n let { matches: parentMatches } = React2.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (ENABLE_DEV_WARNINGS) {\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\") || parentPath.endsWith(\"*?\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at \"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the parent route path has no trailing \"*\". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path=\"${parentPath}\"> to <Route path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n invariant(\n parentPathnameBase === \"/\" || parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n if (ENABLE_DEV_WARNINGS) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n warning(\n matches == null || matches[matches.length - 1].route.element !== void 0 || matches[matches.length - 1].route.Component !== void 0 || matches[matches.length - 1].route.lazy !== void 0,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an \"empty\" page.`\n );\n }\n let renderedMatches = _renderMatches(\n matches && matches.map(\n (match) => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathname).pathname : match.pathname\n ]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathnameBase).pathname : match.pathnameBase\n ])\n })\n ),\n parentMatches,\n dataRouterState,\n future\n );\n if (locationArg && renderedMatches) {\n return /* @__PURE__ */ React2.createElement(\n LocationContext.Provider,\n {\n value: {\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location\n },\n navigationType: \"POP\" /* Pop */\n }\n },\n renderedMatches\n );\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? `${error.status} ${error.statusText}` : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n let devInfo = null;\n if (ENABLE_DEV_WARNINGS) {\n console.error(\n \"Error handled by React Router default ErrorBoundary:\",\n error\n );\n devInfo = /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\"p\", null, \"\\u{1F4BF} Hey developer \\u{1F44B}\"), /* @__PURE__ */ React2.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /* @__PURE__ */ React2.createElement(\"code\", { style: codeStyles }, \"ErrorBoundary\"), \" or\", \" \", /* @__PURE__ */ React2.createElement(\"code\", { style: codeStyles }, \"errorElement\"), \" prop on your route.\"));\n }\n return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\"h2\", null, \"Unexpected Application Error!\"), /* @__PURE__ */ React2.createElement(\"h3\", { style: { fontStyle: \"italic\" } }, message), stack ? /* @__PURE__ */ React2.createElement(\"pre\", { style: preStyles }, stack) : null, devInfo);\n}\nvar defaultErrorElement = /* @__PURE__ */ React2.createElement(DefaultErrorComponent, null);\nvar RenderErrorBoundary = class extends React2.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n return {\n error: props.error !== void 0 ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n render() {\n return this.state.error !== void 0 ? /* @__PURE__ */ React2.createElement(RouteContext.Provider, { value: this.props.routeContext }, /* @__PURE__ */ React2.createElement(\n RouteErrorContext.Provider,\n {\n value: this.state.error,\n children: this.props.component\n }\n )) : this.props.children;\n }\n};\nfunction RenderedRoute({ routeContext, match, children }) {\n let dataRouterContext = React2.useContext(DataRouterContext);\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /* @__PURE__ */ React2.createElement(RouteContext.Provider, { value: routeContext }, children);\n}\nfunction _renderMatches(matches, parentMatches = [], dataRouterState = null, future = null) {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n if (dataRouterState.errors) {\n matches = dataRouterState.matches;\n } else if (parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id] !== void 0\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for errors on route IDs: ${Object.keys(\n errors\n ).join(\",\")}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let { loaderData, errors: errors2 } = dataRouterState;\n let needsToRunLoader = match.route.loader && !loaderData.hasOwnProperty(match.route.id) && (!errors2 || errors2[match.route.id] === void 0);\n if (match.route.lazy || needsToRunLoader) {\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : void 0;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\n \"route-fallback\",\n false,\n \"No `HydrateFallback` element provided to render during initial hydration\"\n );\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches2 = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n children = /* @__PURE__ */ React2.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /* @__PURE__ */ React2.createElement(\n RenderedRoute,\n {\n match,\n routeContext: {\n outlet,\n matches: matches2,\n isDataRoute: dataRouterState != null\n },\n children\n }\n );\n };\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /* @__PURE__ */ React2.createElement(\n RenderErrorBoundary,\n {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error,\n children: getChildren(),\n routeContext: { outlet: null, matches: matches2, isDataRoute: true }\n }\n ) : getChildren();\n }, null);\n}\nfunction getDataRouterConsoleError(hookName) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React2.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React2.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React2.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\nfunction useRouteId() {\n return useCurrentRouteId(\"useRouteId\" /* UseRouteId */);\n}\nfunction useNavigation() {\n let state = useDataRouterState(\"useNavigation\" /* UseNavigation */);\n return state.navigation;\n}\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(\"useRevalidator\" /* UseRevalidator */);\n let state = useDataRouterState(\"useRevalidator\" /* UseRevalidator */);\n return React2.useMemo(\n () => ({\n async revalidate() {\n await dataRouterContext.router.revalidate();\n },\n state: state.revalidation\n }),\n [dataRouterContext.router, state.revalidation]\n );\n}\nfunction useMatches() {\n let { matches, loaderData } = useDataRouterState(\n \"useMatches\" /* UseMatches */\n );\n return React2.useMemo(\n () => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)),\n [matches, loaderData]\n );\n}\nfunction useLoaderData() {\n let state = useDataRouterState(\"useLoaderData\" /* UseLoaderData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(\"useRouteLoaderData\" /* UseRouteLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useActionData() {\n let state = useDataRouterState(\"useActionData\" /* UseActionData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.actionData ? state.actionData[routeId] : void 0;\n}\nfunction useRouteError() {\n let error = React2.useContext(RouteErrorContext);\n let state = useDataRouterState(\"useRouteError\" /* UseRouteError */);\n let routeId = useCurrentRouteId(\"useRouteError\" /* UseRouteError */);\n if (error !== void 0) {\n return error;\n }\n return state.errors?.[routeId];\n}\nfunction useAsyncValue() {\n let value = React2.useContext(AwaitContext);\n return value?._data;\n}\nfunction useAsyncError() {\n let value = React2.useContext(AwaitContext);\n return value?._error;\n}\nvar blockerId = 0;\nfunction useBlocker(shouldBlock) {\n let { router, basename } = useDataRouterContext(\"useBlocker\" /* UseBlocker */);\n let state = useDataRouterState(\"useBlocker\" /* UseBlocker */);\n let [blockerKey, setBlockerKey] = React2.useState(\"\");\n let blockerFunction = React2.useCallback(\n (arg) => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n let { currentLocation, nextLocation, historyAction } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n },\n nextLocation: {\n ...nextLocation,\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n },\n historyAction\n });\n },\n [basename, shouldBlock]\n );\n React2.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n React2.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\nfunction useNavigateStable() {\n let { router } = useDataRouterContext(\"useNavigate\" /* UseNavigateStable */);\n let id = useCurrentRouteId(\"useNavigate\" /* UseNavigateStable */);\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback(\n async (to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n await router.navigate(to, { fromRouteId: id, ...options });\n }\n },\n [router, id]\n );\n return navigate;\n}\nvar alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n// lib/server-runtime/warnings.ts\nvar alreadyWarned2 = {};\nfunction warnOnce(condition, message) {\n if (!condition && !alreadyWarned2[message]) {\n alreadyWarned2[message] = true;\n console.warn(message);\n }\n}\n\n// lib/components.tsx\nvar ENABLE_DEV_WARNINGS2 = true;\nfunction mapRouteProperties(route) {\n let updates = {\n // Note: this check also occurs in createRoutesFromChildren so update\n // there if you change this -- please and thank you!\n hasErrorBoundary: route.hasErrorBoundary || route.ErrorBoundary != null || route.errorElement != null\n };\n if (route.Component) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.element) {\n warning(\n false,\n \"You should not include both `Component` and `element` on your route - `Component` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n element: React3.createElement(route.Component),\n Component: void 0\n });\n }\n if (route.HydrateFallback) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.hydrateFallbackElement) {\n warning(\n false,\n \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n hydrateFallbackElement: React3.createElement(route.HydrateFallback),\n HydrateFallback: void 0\n });\n }\n if (route.ErrorBoundary) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.errorElement) {\n warning(\n false,\n \"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used.\"\n );\n }\n }\n Object.assign(updates, {\n errorElement: React3.createElement(route.ErrorBoundary),\n ErrorBoundary: void 0\n });\n }\n return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createMemoryHistory({\n initialEntries: opts?.initialEntries,\n initialIndex: opts?.initialIndex\n }),\n hydrationData: opts?.hydrationData,\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation\n }).initialize();\n}\nvar Deferred = class {\n constructor() {\n this.status = \"pending\";\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (value) => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = (reason) => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n};\nfunction RouterProvider({\n router,\n flushSync: reactDomFlushSyncImpl\n}) {\n let [state, setStateImpl] = React3.useState(router.state);\n let [pendingState, setPendingState] = React3.useState();\n let [vtContext, setVtContext] = React3.useState({\n isTransitioning: false\n });\n let [renderDfd, setRenderDfd] = React3.useState();\n let [transition, setTransition] = React3.useState();\n let [interruption, setInterruption] = React3.useState();\n let fetcherData = React3.useRef(/* @__PURE__ */ new Map());\n let setState = React3.useCallback(\n (newState, { deletedFetchers, flushSync, viewTransitionOpts }) => {\n deletedFetchers.forEach((key) => fetcherData.current.delete(key));\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== void 0) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n warnOnce(\n flushSync === false || reactDomFlushSyncImpl != null,\n 'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from \"react-router/dom\"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.'\n );\n let isViewTransitionAvailable = router.window != null && router.window.document != null && typeof router.window.document.startViewTransition === \"function\";\n warnOnce(\n viewTransitionOpts == null || isViewTransitionAvailable,\n \"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.\"\n );\n if (!viewTransitionOpts || !isViewTransitionAvailable) {\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n } else {\n React3.startTransition(() => setStateImpl(newState));\n }\n return;\n }\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => {\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n });\n let t = router.window.document.startViewTransition(() => {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n });\n t.finished.finally(() => {\n reactDomFlushSyncImpl(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({ isTransitioning: false });\n });\n });\n reactDomFlushSyncImpl(() => setTransition(t));\n return;\n }\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n } else {\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n }\n },\n [router.window, reactDomFlushSyncImpl, transition, renderDfd]\n );\n React3.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React3.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred());\n }\n }, [vtContext]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition2 = router.window.document.startViewTransition(async () => {\n React3.startTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition2.finished.finally(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({ isTransitioning: false });\n });\n setTransition(transition2);\n }\n }, [pendingState, renderDfd, router.window]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n React3.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation\n });\n setInterruption(void 0);\n }\n }, [vtContext.isTransitioning, interruption]);\n let navigator2 = React3.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state2, opts) => router.navigate(to, {\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n }),\n replace: (to, state2, opts) => router.navigate(to, {\n replace: true,\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React3.useMemo(\n () => ({\n router,\n navigator: navigator2,\n static: false,\n basename\n }),\n [router, navigator2, basename]\n );\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React3.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React3.createElement(FetchersContext.Provider, { value: fetcherData.current }, /* @__PURE__ */ React3.createElement(ViewTransitionContext.Provider, { value: vtContext }, /* @__PURE__ */ React3.createElement(\n Router,\n {\n basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator2\n },\n /* @__PURE__ */ React3.createElement(\n MemoizedDataRoutes,\n {\n routes: router.routes,\n future: router.future,\n state\n }\n )\n ))))), null);\n}\nvar MemoizedDataRoutes = React3.memo(DataRoutes);\nfunction DataRoutes({\n routes,\n future,\n state\n}) {\n return useRoutesImpl(routes, void 0, state, future);\n}\nfunction MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}) {\n let historyRef = React3.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React3.useState({\n action: history.action,\n location: history.location\n });\n let setState = React3.useCallback(\n (newState) => {\n React3.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React3.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React3.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction Navigate({\n to,\n replace: replace2,\n state,\n relative\n}) {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n let { static: isStatic } = React3.useContext(NavigationContext);\n warning(\n !isStatic,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`\n );\n let { matches } = React3.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n let navigate = useNavigate();\n let path = resolveTo(\n to,\n getResolveToMatches(matches),\n locationPathname,\n relative === \"path\"\n );\n let jsonPath = JSON.stringify(path);\n React3.useEffect(() => {\n navigate(JSON.parse(jsonPath), { replace: replace2, state, relative });\n }, [navigate, jsonPath, relative, replace2, state]);\n return null;\n}\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\nfunction Route(_props) {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\nfunction Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = \"POP\" /* Pop */,\n navigator: navigator2,\n static: staticProp = false\n}) {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`\n );\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React3.useMemo(\n () => ({\n basename,\n navigator: navigator2,\n static: staticProp,\n future: {}\n }),\n [basename, navigator2, staticProp]\n );\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let locationContext = React3.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n },\n navigationType\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n warning(\n locationContext != null,\n `<Router basename=\"${basename}\"> is not able to match the URL \"${pathname}${search}${hash}\" because it does not start with the basename, so the <Router> won't render anything.`\n );\n if (locationContext == null) {\n return null;\n }\n return /* @__PURE__ */ React3.createElement(NavigationContext.Provider, { value: navigationContext }, /* @__PURE__ */ React3.createElement(LocationContext.Provider, { children, value: locationContext }));\n}\nfunction Routes({\n children,\n location\n}) {\n return useRoutes(createRoutesFromChildren(children), location);\n}\nfunction Await({\n children,\n errorElement,\n resolve\n}) {\n return /* @__PURE__ */ React3.createElement(AwaitErrorBoundary, { resolve, errorElement }, /* @__PURE__ */ React3.createElement(ResolveAwait, null, children));\n}\nvar AwaitErrorBoundary = class extends React3.Component {\n constructor(props) {\n super(props);\n this.state = { error: null };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\n \"<Await> caught the following error during render\",\n error,\n errorInfo\n );\n }\n render() {\n let { children, errorElement, resolve } = this.props;\n let promise = null;\n let status = 0 /* pending */;\n if (!(resolve instanceof Promise)) {\n status = 1 /* success */;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n status = 2 /* error */;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {\n });\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if (resolve._tracked) {\n promise = resolve;\n status = \"_error\" in promise ? 2 /* error */ : \"_data\" in promise ? 1 /* success */ : 0 /* pending */;\n } else {\n status = 0 /* pending */;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data2) => Object.defineProperty(resolve, \"_data\", { get: () => data2 }),\n (error) => Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n if (status === 2 /* error */ && !errorElement) {\n throw promise._error;\n }\n if (status === 2 /* error */) {\n return /* @__PURE__ */ React3.createElement(AwaitContext.Provider, { value: promise, children: errorElement });\n }\n if (status === 1 /* success */) {\n return /* @__PURE__ */ React3.createElement(AwaitContext.Provider, { value: promise, children });\n }\n throw promise;\n }\n};\nfunction ResolveAwait({\n children\n}) {\n let data2 = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data2) : children;\n return /* @__PURE__ */ React3.createElement(React3.Fragment, null, toRender);\n}\nfunction createRoutesFromChildren(children, parentPath = []) {\n let routes = [];\n React3.Children.forEach(children, (element, index) => {\n if (!React3.isValidElement(element)) {\n return;\n }\n let treePath = [...parentPath, index];\n if (element.type === React3.Fragment) {\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, treePath)\n );\n return;\n }\n invariant(\n element.type === Route,\n `[${typeof element.type === \"string\" ? element.type : element.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n hydrateFallbackElement: element.props.hydrateFallbackElement,\n HydrateFallback: element.props.HydrateFallback,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary: element.props.hasErrorBoundary === true || element.props.ErrorBoundary != null || element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n routes.push(route);\n });\n return routes;\n}\nvar createRoutesFromElements = createRoutesFromChildren;\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\n// lib/dom/lib.tsx\nimport * as React10 from \"react\";\n\n// lib/dom/dom.ts\nvar defaultMethod = \"get\";\nvar defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event);\n}\nfunction createSearchParams(init = \"\") {\n return new URLSearchParams(\n typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo2, key) => {\n let value = init[key];\n return memo2.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [])\n );\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\nvar _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nvar supportedFormEncTypes = /* @__PURE__ */ new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\"\n]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` and will default to \"${defaultEncType}\"`\n );\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(\n `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n );\n }\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(form, target);\n if (!isFormDataSubmitterSupported()) {\n let { name, type, value } = target;\n if (type === \"image\") {\n let prefix = name ? `${name}.` : \"\";\n formData.append(`${prefix}x`, \"0\");\n formData.append(`${prefix}y`, \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\n `Cannot submit element that is not <form>, <button>, or <input type=\"submit|image\">`\n );\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = void 0;\n }\n return { action, method: method.toLowerCase(), encType, formData, body };\n}\n\n// lib/dom/ssr/components.tsx\nimport * as React9 from \"react\";\n\n// lib/dom/ssr/invariant.ts\nfunction invariant2(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\n// lib/dom/ssr/routeModules.ts\nasync function loadRouteModule(route, routeModulesCache) {\n if (route.id in routeModulesCache) {\n return routeModulesCache[route.id];\n }\n try {\n let routeModule = await import(\n /* @vite-ignore */\n /* webpackIgnore: true */\n route.module\n );\n routeModulesCache[route.id] = routeModule;\n return routeModule;\n } catch (error) {\n console.error(\n `Error loading route module \\`${route.module}\\`, reloading page...`\n );\n console.error(error);\n if (window.__reactRouterContext && window.__reactRouterContext.isSpaMode && // @ts-expect-error\n import.meta.hot) {\n throw error;\n }\n window.location.reload();\n return new Promise(() => {\n });\n }\n}\n\n// lib/dom/ssr/links.ts\nfunction getKeyedLinksForMatches(matches, routeModules, manifest) {\n let descriptors = matches.map((match) => {\n let module = routeModules[match.route.id];\n let route = manifest.routes[match.route.id];\n return [\n route && route.css ? route.css.map((href) => ({ rel: \"stylesheet\", href })) : [],\n module?.links?.() || []\n ];\n }).flat(2);\n let preloads = getCurrentPageModulePreloadHrefs(matches, manifest);\n return dedupeLinkDescriptors(descriptors, preloads);\n}\nasync function prefetchStyleLinks(route, routeModule) {\n if (!route.css && !routeModule.links || !isPreloadSupported()) return;\n let descriptors = [];\n if (route.css) {\n descriptors.push(...route.css.map((href) => ({ rel: \"stylesheet\", href })));\n }\n if (routeModule.links) {\n descriptors.push(...routeModule.links());\n }\n if (descriptors.length === 0) return;\n let styleLinks = [];\n for (let descriptor of descriptors) {\n if (!isPageLinkDescriptor(descriptor) && descriptor.rel === \"stylesheet\") {\n styleLinks.push({\n ...descriptor,\n rel: \"preload\",\n as: \"style\"\n });\n }\n }\n let matchingLinks = styleLinks.filter(\n (link) => (!link.media || window.matchMedia(link.media).matches) && !document.querySelector(`link[rel=\"stylesheet\"][href=\"${link.href}\"]`)\n );\n await Promise.all(matchingLinks.map(prefetchStyleLink));\n}\nasync function prefetchStyleLink(descriptor) {\n return new Promise((resolve) => {\n let link = document.createElement(\"link\");\n Object.assign(link, descriptor);\n function removeLink() {\n if (document.head.contains(link)) {\n document.head.removeChild(link);\n }\n }\n link.onload = () => {\n removeLink();\n resolve();\n };\n link.onerror = () => {\n removeLink();\n resolve();\n };\n document.head.appendChild(link);\n });\n}\nfunction isPageLinkDescriptor(object) {\n return object != null && typeof object.page === \"string\";\n}\nfunction isHtmlLinkDescriptor(object) {\n if (object == null) {\n return false;\n }\n if (object.href == null) {\n return object.rel === \"preload\" && typeof object.imageSrcSet === \"string\" && typeof object.imageSizes === \"string\";\n }\n return typeof object.rel === \"string\" && typeof object.href === \"string\";\n}\nasync function getKeyedPrefetchLinks(matches, manifest, routeModules) {\n let links = await Promise.all(\n matches.map(async (match) => {\n let route = manifest.routes[match.route.id];\n if (route) {\n let mod = await loadRouteModule(route, routeModules);\n return mod.links ? mod.links() : [];\n }\n return [];\n })\n );\n return dedupeLinkDescriptors(\n links.flat(1).filter(isHtmlLinkDescriptor).filter((link) => link.rel === \"stylesheet\" || link.rel === \"preload\").map(\n (link) => link.rel === \"stylesheet\" ? { ...link, rel: \"prefetch\", as: \"style\" } : { ...link, rel: \"prefetch\" }\n )\n );\n}\nfunction getNewMatchesForLinks(page, nextMatches, currentMatches, manifest, location, mode) {\n let isNew = (match, index) => {\n if (!currentMatches[index]) return true;\n return match.route.id !== currentMatches[index].route.id;\n };\n let matchPathChanged = (match, index) => {\n return (\n // param change, /users/123 -> /users/456\n currentMatches[index].pathname !== match.pathname || // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentMatches[index].route.path?.endsWith(\"*\") && currentMatches[index].params[\"*\"] !== match.params[\"*\"]\n );\n };\n if (mode === \"assets\") {\n return nextMatches.filter(\n (match, index) => isNew(match, index) || matchPathChanged(match, index)\n );\n }\n if (mode === \"data\") {\n return nextMatches.filter((match, index) => {\n let manifestRoute = manifest.routes[match.route.id];\n if (!manifestRoute || !manifestRoute.hasLoader) {\n return false;\n }\n if (isNew(match, index) || matchPathChanged(match, index)) {\n return true;\n }\n if (match.route.shouldRevalidate) {\n let routeChoice = match.route.shouldRevalidate({\n currentUrl: new URL(\n location.pathname + location.search + location.hash,\n window.origin\n ),\n currentParams: currentMatches[0]?.params || {},\n nextUrl: new URL(page, window.origin),\n nextParams: match.params,\n defaultShouldRevalidate: true\n });\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return true;\n });\n }\n return [];\n}\nfunction getModuleLinkHrefs(matches, manifestPatch) {\n return dedupeHrefs(\n matches.map((match) => {\n let route = manifestPatch.routes[match.route.id];\n if (!route) return [];\n let hrefs = [route.module];\n if (route.imports) {\n hrefs = hrefs.concat(route.imports);\n }\n return hrefs;\n }).flat(1)\n );\n}\nfunction getCurrentPageModulePreloadHrefs(matches, manifest) {\n return dedupeHrefs(\n matches.map((match) => {\n let route = manifest.routes[match.route.id];\n if (!route) return [];\n let hrefs = [route.module];\n if (route.imports) {\n hrefs = hrefs.concat(route.imports);\n }\n return hrefs;\n }).flat(1)\n );\n}\nfunction dedupeHrefs(hrefs) {\n return [...new Set(hrefs)];\n}\nfunction sortKeys(obj) {\n let sorted = {};\n let keys = Object.keys(obj).sort();\n for (let key of keys) {\n sorted[key] = obj[key];\n }\n return sorted;\n}\nfunction dedupeLinkDescriptors(descriptors, preloads) {\n let set = /* @__PURE__ */ new Set();\n let preloadsSet = new Set(preloads);\n return descriptors.reduce((deduped, descriptor) => {\n let alreadyModulePreload = preloads && !isPageLinkDescriptor(descriptor) && descriptor.as === \"script\" && descriptor.href && preloadsSet.has(descriptor.href);\n if (alreadyModulePreload) {\n return deduped;\n }\n let key = JSON.stringify(sortKeys(descriptor));\n if (!set.has(key)) {\n set.add(key);\n deduped.push({ key, link: descriptor });\n }\n return deduped;\n }, []);\n}\nvar _isPreloadSupported;\nfunction isPreloadSupported() {\n if (_isPreloadSupported !== void 0) {\n return _isPreloadSupported;\n }\n let el = document.createElement(\"link\");\n _isPreloadSupported = el.relList.supports(\"preload\");\n el = null;\n return _isPreloadSupported;\n}\n\n// lib/dom/ssr/markup.ts\nvar ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction escapeHtml(html) {\n return html.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);\n}\nfunction createHtml(html) {\n return { __html: html };\n}\n\n// lib/dom/ssr/single-fetch.tsx\nimport * as React4 from \"react\";\nimport { decode } from \"turbo-stream\";\n\n// lib/dom/ssr/data.ts\nasync function createRequestInit(request) {\n let init = { signal: request.signal };\n if (request.method !== \"GET\") {\n init.method = request.method;\n let contentType = request.headers.get(\"Content-Type\");\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n init.headers = { \"Content-Type\": contentType };\n init.body = JSON.stringify(await request.json());\n } else if (contentType && /\\btext\\/plain\\b/.test(contentType)) {\n init.headers = { \"Content-Type\": contentType };\n init.body = await request.text();\n } else if (contentType && /\\bapplication\\/x-www-form-urlencoded\\b/.test(contentType)) {\n init.body = new URLSearchParams(await request.text());\n } else {\n init.body = await request.formData();\n }\n }\n return init;\n}\n\n// lib/dom/ssr/single-fetch.tsx\nvar SingleFetchRedirectSymbol = Symbol(\"SingleFetchRedirect\");\nfunction StreamTransfer({\n context,\n identifier,\n reader,\n textDecoder,\n nonce\n}) {\n if (!context.renderMeta || !context.renderMeta.didRenderScripts) {\n return null;\n }\n if (!context.renderMeta.streamCache) {\n context.renderMeta.streamCache = {};\n }\n let { streamCache } = context.renderMeta;\n let promise = streamCache[identifier];\n if (!promise) {\n promise = streamCache[identifier] = reader.read().then((result) => {\n streamCache[identifier].result = {\n done: result.done,\n value: textDecoder.decode(result.value, { stream: true })\n };\n }).catch((e) => {\n streamCache[identifier].error = e;\n });\n }\n if (promise.error) {\n throw promise.error;\n }\n if (promise.result === void 0) {\n throw promise;\n }\n let { done, value } = promise.result;\n let scriptTag = value ? /* @__PURE__ */ React4.createElement(\n \"script\",\n {\n nonce,\n dangerouslySetInnerHTML: {\n __html: `window.__reactRouterContext.streamController.enqueue(${escapeHtml(\n JSON.stringify(value)\n )});`\n }\n }\n ) : null;\n if (done) {\n return /* @__PURE__ */ React4.createElement(React4.Fragment, null, scriptTag, /* @__PURE__ */ React4.createElement(\n \"script\",\n {\n nonce,\n dangerouslySetInnerHTML: {\n __html: `window.__reactRouterContext.streamController.close();`\n }\n }\n ));\n } else {\n return /* @__PURE__ */ React4.createElement(React4.Fragment, null, scriptTag, /* @__PURE__ */ React4.createElement(React4.Suspense, null, /* @__PURE__ */ React4.createElement(\n StreamTransfer,\n {\n context,\n identifier: identifier + 1,\n reader,\n textDecoder,\n nonce\n }\n )));\n }\n}\nfunction getSingleFetchDataStrategy(manifest, routeModules, getRouter) {\n return async ({ request, matches, fetcherKey }) => {\n if (request.method !== \"GET\") {\n return singleFetchActionStrategy(request, matches);\n }\n if (fetcherKey) {\n return singleFetchLoaderFetcherStrategy(request, matches);\n }\n return singleFetchLoaderNavigationStrategy(\n manifest,\n routeModules,\n getRouter(),\n request,\n matches\n );\n };\n}\nasync function singleFetchActionStrategy(request, matches) {\n let actionMatch = matches.find((m) => m.shouldLoad);\n invariant2(actionMatch, \"No action match found\");\n let actionStatus = void 0;\n let result = await actionMatch.resolve(async (handler) => {\n let result2 = await handler(async () => {\n let url = singleFetchUrl(request.url);\n let init = await createRequestInit(request);\n let { data: data2, status } = await fetchAndDecode(url, init);\n actionStatus = status;\n return unwrapSingleFetchResult(\n data2,\n actionMatch.route.id\n );\n });\n return result2;\n });\n if (isResponse(result.result) || isRouteErrorResponse(result.result)) {\n return { [actionMatch.route.id]: result };\n }\n return {\n [actionMatch.route.id]: {\n type: result.type,\n result: data(result.result, actionStatus)\n }\n };\n}\nasync function singleFetchLoaderNavigationStrategy(manifest, routeModules, router, request, matches) {\n let routesParams = /* @__PURE__ */ new Set();\n let foundOptOutRoute = false;\n let routeDfds = matches.map(() => createDeferred2());\n let routesLoadedPromise = Promise.all(routeDfds.map((d) => d.promise));\n let singleFetchDfd = createDeferred2();\n let url = stripIndexParam(singleFetchUrl(request.url));\n let init = await createRequestInit(request);\n let results = {};\n let resolvePromise = Promise.all(\n matches.map(\n async (m, i) => m.resolve(async (handler) => {\n routeDfds[i].resolve();\n let manifestRoute = manifest.routes[m.route.id];\n if (!m.shouldLoad) {\n if (!router.state.initialized) {\n return;\n }\n if (m.route.id in router.state.loaderData && manifestRoute && manifestRoute.hasLoader && routeModules[m.route.id]?.shouldRevalidate) {\n foundOptOutRoute = true;\n return;\n }\n }\n if (manifestRoute && manifestRoute.hasClientLoader) {\n if (manifestRoute.hasLoader) {\n foundOptOutRoute = true;\n }\n try {\n let result = await fetchSingleLoader(\n handler,\n url,\n init,\n m.route.id\n );\n results[m.route.id] = { type: \"data\", result };\n } catch (e) {\n results[m.route.id] = { type: \"error\", result: e };\n }\n return;\n }\n if (manifestRoute && manifestRoute.hasLoader) {\n routesParams.add(m.route.id);\n }\n try {\n let result = await handler(async () => {\n let data2 = await singleFetchDfd.promise;\n return unwrapSingleFetchResults(data2, m.route.id);\n });\n results[m.route.id] = {\n type: \"data\",\n result\n };\n } catch (e) {\n results[m.route.id] = {\n type: \"error\",\n result: e\n };\n }\n })\n )\n );\n await routesLoadedPromise;\n if ((!router.state.initialized || routesParams.size === 0) && !window.__reactRouterHdrActive) {\n singleFetchDfd.resolve({});\n } else {\n try {\n if (foundOptOutRoute && routesParams.size > 0) {\n url.searchParams.set(\n \"_routes\",\n matches.filter((m) => routesParams.has(m.route.id)).map((m) => m.route.id).join(\",\")\n );\n }\n let data2 = await fetchAndDecode(url, init);\n singleFetchDfd.resolve(data2.data);\n } catch (e) {\n singleFetchDfd.reject(e);\n }\n }\n await resolvePromise;\n return results;\n}\nasync function singleFetchLoaderFetcherStrategy(request, matches) {\n let fetcherMatch = matches.find((m) => m.shouldLoad);\n invariant2(fetcherMatch, \"No fetcher match found\");\n let result = await fetcherMatch.resolve(async (handler) => {\n let url = stripIndexParam(singleFetchUrl(request.url));\n let init = await createRequestInit(request);\n return fetchSingleLoader(handler, url, init, fetcherMatch.route.id);\n });\n return { [fetcherMatch.route.id]: result };\n}\nfunction fetchSingleLoader(handler, url, init, routeId) {\n return handler(async () => {\n let singleLoaderUrl = new URL(url);\n singleLoaderUrl.searchParams.set(\"_routes\", routeId);\n let { data: data2 } = await fetchAndDecode(singleLoaderUrl, init);\n return unwrapSingleFetchResults(data2, routeId);\n });\n}\nfunction stripIndexParam(url) {\n let indexValues = url.searchParams.getAll(\"index\");\n url.searchParams.delete(\"index\");\n let indexValuesToKeep = [];\n for (let indexValue of indexValues) {\n if (indexValue) {\n indexValuesToKeep.push(indexValue);\n }\n }\n for (let toKeep of indexValuesToKeep) {\n url.searchParams.append(\"index\", toKeep);\n }\n return url;\n}\nfunction singleFetchUrl(reqUrl) {\n let url = typeof reqUrl === \"string\" ? new URL(\n reqUrl,\n // This can be called during the SSR flow via PrefetchPageLinksImpl so\n // don't assume window is available\n typeof window === \"undefined\" ? \"server://singlefetch/\" : window.location.origin\n ) : reqUrl;\n if (url.pathname === \"/\") {\n url.pathname = \"_root.data\";\n } else {\n url.pathname = `${url.pathname.replace(/\\/$/, \"\")}.data`;\n }\n return url;\n}\nasync function fetchAndDecode(url, init) {\n let res = await fetch(url, init);\n if (res.status === 404 && !res.headers.has(\"X-Remix-Response\")) {\n throw new ErrorResponseImpl(404, \"Not Found\", true);\n }\n invariant2(res.body, \"No response body to decode\");\n try {\n let decoded = await decodeViaTurboStream(res.body, window);\n return { status: res.status, data: decoded.value };\n } catch (e) {\n throw new Error(\"Unable to decode turbo-stream response\");\n }\n}\nfunction decodeViaTurboStream(body, global2) {\n return decode(body, {\n plugins: [\n (type, ...rest) => {\n if (type === \"SanitizedError\") {\n let [name, message, stack] = rest;\n let Constructor = Error;\n if (name && name in global2 && typeof global2[name] === \"function\") {\n Constructor = global2[name];\n }\n let error = new Constructor(message);\n error.stack = stack;\n return { value: error };\n }\n if (type === \"ErrorResponse\") {\n let [data2, status, statusText] = rest;\n return {\n value: new ErrorResponseImpl(status, statusText, data2)\n };\n }\n if (type === \"SingleFetchRedirect\") {\n return { value: { [SingleFetchRedirectSymbol]: rest[0] } };\n }\n if (type === \"SingleFetchClassInstance\") {\n return { value: rest[0] };\n }\n if (type === \"SingleFetchFallback\") {\n return { value: void 0 };\n }\n }\n ]\n });\n}\nfunction unwrapSingleFetchResults(results, routeId) {\n let redirect2 = results[SingleFetchRedirectSymbol];\n if (redirect2) {\n return unwrapSingleFetchResult(redirect2, routeId);\n }\n return results[routeId] !== void 0 ? unwrapSingleFetchResult(results[routeId], routeId) : null;\n}\nfunction unwrapSingleFetchResult(result, routeId) {\n if (\"error\" in result) {\n throw result.error;\n } else if (\"redirect\" in result) {\n let headers = {};\n if (result.revalidate) {\n headers[\"X-Remix-Revalidate\"] = \"yes\";\n }\n if (result.reload) {\n headers[\"X-Remix-Reload-Document\"] = \"yes\";\n }\n if (result.replace) {\n headers[\"X-Remix-Replace\"] = \"yes\";\n }\n return redirect(result.redirect, { status: result.status, headers });\n } else if (\"data\" in result) {\n return result.data;\n } else {\n throw new Error(`No response found for routeId \"${routeId}\"`);\n }\n}\nfunction createDeferred2() {\n let resolve;\n let reject;\n let promise = new Promise((res, rej) => {\n resolve = async (val) => {\n res(val);\n try {\n await promise;\n } catch (e) {\n }\n };\n reject = async (error) => {\n rej(error);\n try {\n await promise;\n } catch (e) {\n }\n };\n });\n return {\n promise,\n //@ts-ignore\n resolve,\n //@ts-ignore\n reject\n };\n}\n\n// lib/dom/ssr/fog-of-war.ts\nimport * as React8 from \"react\";\n\n// lib/dom/ssr/routes.tsx\nimport * as React7 from \"react\";\n\n// lib/dom/ssr/errorBoundaries.tsx\nimport * as React5 from \"react\";\nvar RemixErrorBoundary = class extends React5.Component {\n constructor(props) {\n super(props);\n this.state = { error: props.error || null, location: props.location };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.location !== props.location) {\n return { error: props.error || null, location: props.location };\n }\n return { error: props.error || state.error, location: state.location };\n }\n render() {\n if (this.state.error) {\n return /* @__PURE__ */ React5.createElement(\n RemixRootDefaultErrorBoundary,\n {\n error: this.state.error,\n isOutsideRemixApp: true\n }\n );\n } else {\n return this.props.children;\n }\n }\n};\nfunction RemixRootDefaultErrorBoundary({\n error,\n isOutsideRemixApp\n}) {\n console.error(error);\n let heyDeveloper = /* @__PURE__ */ React5.createElement(\n \"script\",\n {\n dangerouslySetInnerHTML: {\n __html: `\n console.log(\n \"\\u{1F4BF} Hey developer \\u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information.\"\n );\n `\n }\n }\n );\n if (isRouteErrorResponse(error)) {\n return /* @__PURE__ */ React5.createElement(BoundaryShell, { title: \"Unhandled Thrown Response!\" }, /* @__PURE__ */ React5.createElement(\"h1\", { style: { fontSize: \"24px\" } }, error.status, \" \", error.statusText), heyDeveloper);\n }\n let errorInstance;\n if (error instanceof Error) {\n errorInstance = error;\n } else {\n let errorString = error == null ? \"Unknown Error\" : typeof error === \"object\" && \"toString\" in error ? error.toString() : JSON.stringify(error);\n errorInstance = new Error(errorString);\n }\n return /* @__PURE__ */ React5.createElement(\n BoundaryShell,\n {\n title: \"Application Error!\",\n isOutsideRemixApp\n },\n /* @__PURE__ */ React5.createElement(\"h1\", { style: { fontSize: \"24px\" } }, \"Application Error\"),\n /* @__PURE__ */ React5.createElement(\n \"pre\",\n {\n style: {\n padding: \"2rem\",\n background: \"hsla(10, 50%, 50%, 0.1)\",\n color: \"red\",\n overflow: \"auto\"\n }\n },\n errorInstance.stack\n ),\n heyDeveloper\n );\n}\nfunction BoundaryShell({\n title,\n renderScripts,\n isOutsideRemixApp,\n children\n}) {\n let { routeModules } = useFrameworkContext();\n if (routeModules.root?.Layout && !isOutsideRemixApp) {\n return children;\n }\n return /* @__PURE__ */ React5.createElement(\"html\", { lang: \"en\" }, /* @__PURE__ */ React5.createElement(\"head\", null, /* @__PURE__ */ React5.createElement(\"meta\", { charSet: \"utf-8\" }), /* @__PURE__ */ React5.createElement(\n \"meta\",\n {\n name: \"viewport\",\n content: \"width=device-width,initial-scale=1,viewport-fit=cover\"\n }\n ), /* @__PURE__ */ React5.createElement(\"title\", null, title)), /* @__PURE__ */ React5.createElement(\"body\", null, /* @__PURE__ */ React5.createElement(\"main\", { style: { fontFamily: \"system-ui, sans-serif\", padding: \"2rem\" } }, children, renderScripts ? /* @__PURE__ */ React5.createElement(Scripts, null) : null)));\n}\n\n// lib/dom/ssr/fallback.tsx\nimport * as React6 from \"react\";\nfunction RemixRootDefaultHydrateFallback() {\n return /* @__PURE__ */ React6.createElement(BoundaryShell, { title: \"Loading...\", renderScripts: true }, /* @__PURE__ */ React6.createElement(\n \"script\",\n {\n dangerouslySetInnerHTML: {\n __html: `\n console.log(\n \"\\u{1F4BF} Hey developer \\u{1F44B}. You can provide a way better UX than this \" +\n \"when your app is loading JS modules and/or running \\`clientLoader\\` \" +\n \"functions. Check out https://remix.run/route/hydrate-fallback \" +\n \"for more information.\"\n );\n `\n }\n }\n ));\n}\n\n// lib/dom/ssr/routes.tsx\nfunction groupRoutesByParentId(manifest) {\n let routes = {};\n Object.values(manifest).forEach((route) => {\n if (route) {\n let parentId = route.parentId || \"\";\n if (!routes[parentId]) {\n routes[parentId] = [];\n }\n routes[parentId].push(route);\n }\n });\n return routes;\n}\nfunction getRouteComponents(route, routeModule, isSpaMode) {\n let Component4 = getRouteModuleComponent(routeModule);\n let HydrateFallback = routeModule.HydrateFallback && (!isSpaMode || route.id === \"root\") ? routeModule.HydrateFallback : route.id === \"root\" ? RemixRootDefaultHydrateFallback : void 0;\n let ErrorBoundary = routeModule.ErrorBoundary ? routeModule.ErrorBoundary : route.id === \"root\" ? () => /* @__PURE__ */ React7.createElement(RemixRootDefaultErrorBoundary, { error: useRouteError() }) : void 0;\n if (route.id === \"root\" && routeModule.Layout) {\n return {\n ...Component4 ? {\n element: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(Component4, null))\n } : { Component: Component4 },\n ...ErrorBoundary ? {\n errorElement: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(ErrorBoundary, null))\n } : { ErrorBoundary },\n ...HydrateFallback ? {\n hydrateFallbackElement: /* @__PURE__ */ React7.createElement(routeModule.Layout, null, /* @__PURE__ */ React7.createElement(HydrateFallback, null))\n } : { HydrateFallback }\n };\n }\n return { Component: Component4, ErrorBoundary, HydrateFallback };\n}\nfunction createServerRoutes(manifest, routeModules, future, isSpaMode, parentId = \"\", routesByParentId = groupRoutesByParentId(manifest), spaModeLazyPromise = Promise.resolve({ Component: () => null })) {\n return (routesByParentId[parentId] || []).map((route) => {\n let routeModule = routeModules[route.id];\n invariant2(\n routeModule,\n \"No `routeModule` available to create server routes\"\n );\n let dataRoute = {\n ...getRouteComponents(route, routeModule, isSpaMode),\n caseSensitive: route.caseSensitive,\n id: route.id,\n index: route.index,\n path: route.path,\n handle: routeModule.handle,\n // For SPA Mode, all routes are lazy except root. However we tell the\n // router root is also lazy here too since we don't need a full\n // implementation - we just need a `lazy` prop to tell the RR rendering\n // where to stop which is always at the root route in SPA mode\n lazy: isSpaMode ? () => spaModeLazyPromise : void 0,\n // For partial hydration rendering, we need to indicate when the route\n // has a loader/clientLoader, but it won't ever be called during the static\n // render, so just give it a no-op function so we can render down to the\n // proper fallback\n loader: route.hasLoader || route.hasClientLoader ? () => null : void 0\n // We don't need action/shouldRevalidate on these routes since they're\n // for a static render\n };\n let children = createServerRoutes(\n manifest,\n routeModules,\n future,\n isSpaMode,\n route.id,\n routesByParentId,\n spaModeLazyPromise\n );\n if (children.length > 0) dataRoute.children = children;\n return dataRoute;\n });\n}\nfunction createClientRoutesWithHMRRevalidationOptOut(needsRevalidation, manifest, routeModulesCache, initialState, future, isSpaMode) {\n return createClientRoutes(\n manifest,\n routeModulesCache,\n initialState,\n isSpaMode,\n \"\",\n groupRoutesByParentId(manifest),\n needsRevalidation\n );\n}\nfunction preventInvalidServerHandlerCall(type, route, isSpaMode) {\n if (isSpaMode) {\n let fn2 = type === \"action\" ? \"serverAction()\" : \"serverLoader()\";\n let msg2 = `You cannot call ${fn2} in SPA Mode (routeId: \"${route.id}\")`;\n console.error(msg2);\n throw new ErrorResponseImpl(400, \"Bad Request\", new Error(msg2), true);\n }\n let fn = type === \"action\" ? \"serverAction()\" : \"serverLoader()\";\n let msg = `You are trying to call ${fn} on a route that does not have a server ${type} (routeId: \"${route.id}\")`;\n if (type === \"loader\" && !route.hasLoader || type === \"action\" && !route.hasAction) {\n console.error(msg);\n throw new ErrorResponseImpl(400, \"Bad Request\", new Error(msg), true);\n }\n}\nfunction noActionDefinedError(type, routeId) {\n let article = type === \"clientAction\" ? \"a\" : \"an\";\n let msg = `Route \"${routeId}\" does not have ${article} ${type}, but you are trying to submit to it. To fix this, please add ${article} \\`${type}\\` function to the route`;\n console.error(msg);\n throw new ErrorResponseImpl(405, \"Method Not Allowed\", new Error(msg), true);\n}\nfunction createClientRoutes(manifest, routeModulesCache, initialState, isSpaMode, parentId = \"\", routesByParentId = groupRoutesByParentId(manifest), needsRevalidation) {\n return (routesByParentId[parentId] || []).map((route) => {\n let routeModule = routeModulesCache[route.id];\n function fetchServerHandler(singleFetch) {\n invariant2(\n typeof singleFetch === \"function\",\n \"No single fetch function available for route handler\"\n );\n return singleFetch();\n }\n function fetchServerLoader(singleFetch) {\n if (!route.hasLoader) return Promise.resolve(null);\n return fetchServerHandler(singleFetch);\n }\n function fetchServerAction(singleFetch) {\n if (!route.hasAction) {\n throw noActionDefinedError(\"action\", route.id);\n }\n return fetchServerHandler(singleFetch);\n }\n async function prefetchStylesAndCallHandler(handler) {\n let cachedModule = routeModulesCache[route.id];\n let linkPrefetchPromise = cachedModule ? prefetchStyleLinks(route, cachedModule) : Promise.resolve();\n try {\n return handler();\n } finally {\n await linkPrefetchPromise;\n }\n }\n let dataRoute = {\n id: route.id,\n index: route.index,\n path: route.path\n };\n if (routeModule) {\n Object.assign(dataRoute, {\n ...dataRoute,\n ...getRouteComponents(route, routeModule, isSpaMode),\n handle: routeModule.handle,\n shouldRevalidate: getShouldRevalidateFunction(\n routeModule,\n route.id,\n needsRevalidation\n )\n });\n let hasInitialData = initialState && initialState.loaderData && route.id in initialState.loaderData;\n let initialData = hasInitialData ? initialState?.loaderData?.[route.id] : void 0;\n let hasInitialError = initialState && initialState.errors && route.id in initialState.errors;\n let initialError = hasInitialError ? initialState?.errors?.[route.id] : void 0;\n let isHydrationRequest = needsRevalidation == null && (routeModule.clientLoader?.hydrate === true || !route.hasLoader);\n dataRoute.loader = async ({ request, params }, singleFetch) => {\n try {\n let result = await prefetchStylesAndCallHandler(async () => {\n invariant2(\n routeModule,\n \"No `routeModule` available for critical-route loader\"\n );\n if (!routeModule.clientLoader) {\n if (isSpaMode) return null;\n return fetchServerLoader(singleFetch);\n }\n return routeModule.clientLoader({\n request,\n params,\n async serverLoader() {\n preventInvalidServerHandlerCall(\"loader\", route, isSpaMode);\n if (isHydrationRequest) {\n if (hasInitialData) {\n return initialData;\n }\n if (hasInitialError) {\n throw initialError;\n }\n }\n return fetchServerLoader(singleFetch);\n }\n });\n });\n return result;\n } finally {\n isHydrationRequest = false;\n }\n };\n dataRoute.loader.hydrate = shouldHydrateRouteLoader(\n route,\n routeModule,\n isSpaMode\n );\n dataRoute.action = ({ request, params }, singleFetch) => {\n return prefetchStylesAndCallHandler(async () => {\n invariant2(\n routeModule,\n \"No `routeModule` available for critical-route action\"\n );\n if (!routeModule.clientAction) {\n if (isSpaMode) {\n throw noActionDefinedError(\"clientAction\", route.id);\n }\n return fetchServerAction(singleFetch);\n }\n return routeModule.clientAction({\n request,\n params,\n async serverAction() {\n preventInvalidServerHandlerCall(\"action\", route, isSpaMode);\n return fetchServerAction(singleFetch);\n }\n });\n });\n };\n } else {\n if (!route.hasClientLoader) {\n dataRoute.loader = ({ request }, singleFetch) => prefetchStylesAndCallHandler(() => {\n if (isSpaMode) return Promise.resolve(null);\n return fetchServerLoader(singleFetch);\n });\n }\n if (!route.hasClientAction) {\n dataRoute.action = ({ request }, singleFetch) => prefetchStylesAndCallHandler(() => {\n if (isSpaMode) {\n throw noActionDefinedError(\"clientAction\", route.id);\n }\n return fetchServerAction(singleFetch);\n });\n }\n dataRoute.lazy = async () => {\n let mod = await loadRouteModuleWithBlockingLinks(\n route,\n routeModulesCache\n );\n let lazyRoute = { ...mod };\n if (mod.clientLoader) {\n let clientLoader = mod.clientLoader;\n lazyRoute.loader = (args, singleFetch) => clientLoader({\n ...args,\n async serverLoader() {\n preventInvalidServerHandlerCall(\"loader\", route, isSpaMode);\n return fetchServerLoader(singleFetch);\n }\n });\n }\n if (mod.clientAction) {\n let clientAction = mod.clientAction;\n lazyRoute.action = (args, singleFetch) => clientAction({\n ...args,\n async serverAction() {\n preventInvalidServerHandlerCall(\"action\", route, isSpaMode);\n return fetchServerAction(singleFetch);\n }\n });\n }\n return {\n ...lazyRoute.loader ? { loader: lazyRoute.loader } : {},\n ...lazyRoute.action ? { action: lazyRoute.action } : {},\n hasErrorBoundary: lazyRoute.hasErrorBoundary,\n shouldRevalidate: getShouldRevalidateFunction(\n lazyRoute,\n route.id,\n needsRevalidation\n ),\n handle: lazyRoute.handle,\n // No need to wrap these in layout since the root route is never\n // loaded via route.lazy()\n Component: lazyRoute.Component,\n ErrorBoundary: lazyRoute.ErrorBoundary\n };\n };\n }\n let children = createClientRoutes(\n manifest,\n routeModulesCache,\n initialState,\n isSpaMode,\n route.id,\n routesByParentId,\n needsRevalidation\n );\n if (children.length > 0) dataRoute.children = children;\n return dataRoute;\n });\n}\nfunction getShouldRevalidateFunction(route, routeId, needsRevalidation) {\n if (needsRevalidation) {\n return wrapShouldRevalidateForHdr(\n routeId,\n route.shouldRevalidate,\n needsRevalidation\n );\n }\n if (route.shouldRevalidate) {\n let fn = route.shouldRevalidate;\n return (opts) => fn({ ...opts, defaultShouldRevalidate: true });\n }\n return route.shouldRevalidate;\n}\nfunction wrapShouldRevalidateForHdr(routeId, routeShouldRevalidate, needsRevalidation) {\n let handledRevalidation = false;\n return (arg) => {\n if (!handledRevalidation) {\n handledRevalidation = true;\n return needsRevalidation.has(routeId);\n }\n return routeShouldRevalidate ? routeShouldRevalidate(arg) : arg.defaultShouldRevalidate;\n };\n}\nasync function loadRouteModuleWithBlockingLinks(route, routeModules) {\n let routeModule = await loadRouteModule(route, routeModules);\n await prefetchStyleLinks(route, routeModule);\n return {\n Component: getRouteModuleComponent(routeModule),\n ErrorBoundary: routeModule.ErrorBoundary,\n clientAction: routeModule.clientAction,\n clientLoader: routeModule.clientLoader,\n handle: routeModule.handle,\n links: routeModule.links,\n meta: routeModule.meta,\n shouldRevalidate: routeModule.shouldRevalidate\n };\n}\nfunction getRouteModuleComponent(routeModule) {\n if (routeModule.default == null) return void 0;\n let isEmptyObject = typeof routeModule.default === \"object\" && Object.keys(routeModule.default).length === 0;\n if (!isEmptyObject) {\n return routeModule.default;\n }\n}\nfunction shouldHydrateRouteLoader(route, routeModule, isSpaMode) {\n return isSpaMode && route.id !== \"root\" || routeModule.clientLoader != null && (routeModule.clientLoader.hydrate === true || route.hasLoader !== true);\n}\n\n// lib/dom/ssr/fog-of-war.ts\nvar nextPaths = /* @__PURE__ */ new Set();\nvar discoveredPathsMaxSize = 1e3;\nvar discoveredPaths = /* @__PURE__ */ new Set();\nvar URL_LIMIT = 7680;\nfunction isFogOfWarEnabled(isSpaMode) {\n return !isSpaMode;\n}\nfunction getPartialManifest(manifest, router) {\n let routeIds = new Set(router.state.matches.map((m) => m.route.id));\n let segments = router.state.location.pathname.split(\"/\").filter(Boolean);\n let paths = [\"/\"];\n segments.pop();\n while (segments.length > 0) {\n paths.push(`/${segments.join(\"/\")}`);\n segments.pop();\n }\n paths.forEach((path) => {\n let matches = matchRoutes(router.routes, path, router.basename);\n if (matches) {\n matches.forEach((m) => routeIds.add(m.route.id));\n }\n });\n let initialRoutes = [...routeIds].reduce(\n (acc, id) => Object.assign(acc, { [id]: manifest.routes[id] }),\n {}\n );\n return {\n ...manifest,\n routes: initialRoutes\n };\n}\nfunction getPatchRoutesOnNavigationFunction(manifest, routeModules, isSpaMode, basename) {\n if (!isFogOfWarEnabled(isSpaMode)) {\n return void 0;\n }\n return async ({ path, patch }) => {\n if (discoveredPaths.has(path)) {\n return;\n }\n await fetchAndApplyManifestPatches(\n [path],\n manifest,\n routeModules,\n isSpaMode,\n basename,\n patch\n );\n };\n}\nfunction useFogOFWarDiscovery(router, manifest, routeModules, isSpaMode) {\n React8.useEffect(() => {\n if (!isFogOfWarEnabled(isSpaMode) || navigator.connection?.saveData === true) {\n return;\n }\n function registerElement(el) {\n let path = el.tagName === \"FORM\" ? el.getAttribute(\"action\") : el.getAttribute(\"href\");\n if (!path) {\n return;\n }\n let url = new URL(path, window.location.origin);\n if (!discoveredPaths.has(url.pathname)) {\n nextPaths.add(url.pathname);\n }\n }\n async function fetchPatches() {\n let lazyPaths = Array.from(nextPaths.keys()).filter((path) => {\n if (discoveredPaths.has(path)) {\n nextPaths.delete(path);\n return false;\n }\n return true;\n });\n if (lazyPaths.length === 0) {\n return;\n }\n try {\n await fetchAndApplyManifestPatches(\n lazyPaths,\n manifest,\n routeModules,\n isSpaMode,\n router.basename,\n router.patchRoutes\n );\n } catch (e) {\n console.error(\"Failed to fetch manifest patches\", e);\n }\n }\n document.body.querySelectorAll(\"a[data-discover], form[data-discover]\").forEach((el) => registerElement(el));\n fetchPatches();\n let debouncedFetchPatches = debounce(fetchPatches, 100);\n function isElement(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n }\n let observer = new MutationObserver((records) => {\n let elements = /* @__PURE__ */ new Set();\n records.forEach((r) => {\n [r.target, ...r.addedNodes].forEach((node) => {\n if (!isElement(node)) return;\n if (node.tagName === \"A\" && node.getAttribute(\"data-discover\")) {\n elements.add(node);\n } else if (node.tagName === \"FORM\" && node.getAttribute(\"data-discover\")) {\n elements.add(node);\n }\n if (node.tagName !== \"A\") {\n node.querySelectorAll(\"a[data-discover], form[data-discover]\").forEach((el) => elements.add(el));\n }\n });\n });\n elements.forEach((el) => registerElement(el));\n debouncedFetchPatches();\n });\n observer.observe(document.documentElement, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"data-discover\", \"href\", \"action\"]\n });\n return () => observer.disconnect();\n }, [isSpaMode, manifest, routeModules, router]);\n}\nasync function fetchAndApplyManifestPatches(paths, manifest, routeModules, isSpaMode, basename, patchRoutes) {\n let manifestPath = `${basename != null ? basename : \"/\"}/__manifest`.replace(\n /\\/+/g,\n \"/\"\n );\n let url = new URL(manifestPath, window.location.origin);\n paths.sort().forEach((path) => url.searchParams.append(\"p\", path));\n url.searchParams.set(\"version\", manifest.version);\n if (url.toString().length > URL_LIMIT) {\n nextPaths.clear();\n return;\n }\n let res = await fetch(url);\n if (!res.ok) {\n throw new Error(`${res.status} ${res.statusText}`);\n } else if (res.status >= 400) {\n throw new Error(await res.text());\n }\n let serverPatches = await res.json();\n let knownRoutes = new Set(Object.keys(manifest.routes));\n let patches = Object.values(serverPatches).reduce((acc, route) => {\n if (route && !knownRoutes.has(route.id)) {\n acc[route.id] = route;\n }\n return acc;\n }, {});\n Object.assign(manifest.routes, patches);\n paths.forEach((p) => addToFifoQueue(p, discoveredPaths));\n let parentIds = /* @__PURE__ */ new Set();\n Object.values(patches).forEach((patch) => {\n if (patch && (!patch.parentId || !patches[patch.parentId])) {\n parentIds.add(patch.parentId);\n }\n });\n parentIds.forEach(\n (parentId) => patchRoutes(\n parentId || null,\n createClientRoutes(patches, routeModules, null, isSpaMode, parentId)\n )\n );\n}\nfunction addToFifoQueue(path, queue) {\n if (queue.size >= discoveredPathsMaxSize) {\n let first = queue.values().next().value;\n queue.delete(first);\n }\n queue.add(path);\n}\nfunction debounce(callback, wait) {\n let timeoutId;\n return (...args) => {\n window.clearTimeout(timeoutId);\n timeoutId = window.setTimeout(() => callback(...args), wait);\n };\n}\n\n// lib/dom/ssr/components.tsx\nfunction useDataRouterContext2() {\n let context = React9.useContext(DataRouterContext);\n invariant2(\n context,\n \"You must render this element inside a <DataRouterContext.Provider> element\"\n );\n return context;\n}\nfunction useDataRouterStateContext() {\n let context = React9.useContext(DataRouterStateContext);\n invariant2(\n context,\n \"You must render this element inside a <DataRouterStateContext.Provider> element\"\n );\n return context;\n}\nvar FrameworkContext = React9.createContext(void 0);\nFrameworkContext.displayName = \"FrameworkContext\";\nfunction useFrameworkContext() {\n let context = React9.useContext(FrameworkContext);\n invariant2(\n context,\n \"You must render this element inside a <HydratedRouter> element\"\n );\n return context;\n}\nfunction usePrefetchBehavior(prefetch, theirElementProps) {\n let frameworkContext = React9.useContext(FrameworkContext);\n let [maybePrefetch, setMaybePrefetch] = React9.useState(false);\n let [shouldPrefetch, setShouldPrefetch] = React9.useState(false);\n let { onFocus, onBlur, onMouseEnter, onMouseLeave, onTouchStart } = theirElementProps;\n let ref = React9.useRef(null);\n React9.useEffect(() => {\n if (prefetch === \"render\") {\n setShouldPrefetch(true);\n }\n if (prefetch === \"viewport\") {\n let callback = (entries) => {\n entries.forEach((entry) => {\n setShouldPrefetch(entry.isIntersecting);\n });\n };\n let observer = new IntersectionObserver(callback, { threshold: 0.5 });\n if (ref.current) observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }\n }, [prefetch]);\n React9.useEffect(() => {\n if (maybePrefetch) {\n let id = setTimeout(() => {\n setShouldPrefetch(true);\n }, 100);\n return () => {\n clearTimeout(id);\n };\n }\n }, [maybePrefetch]);\n let setIntent = () => {\n setMaybePrefetch(true);\n };\n let cancelIntent = () => {\n setMaybePrefetch(false);\n setShouldPrefetch(false);\n };\n if (!frameworkContext) {\n return [false, ref, {}];\n }\n if (prefetch !== \"intent\") {\n return [shouldPrefetch, ref, {}];\n }\n return [\n shouldPrefetch,\n ref,\n {\n onFocus: composeEventHandlers(onFocus, setIntent),\n onBlur: composeEventHandlers(onBlur, cancelIntent),\n onMouseEnter: composeEventHandlers(onMouseEnter, setIntent),\n onMouseLeave: composeEventHandlers(onMouseLeave, cancelIntent),\n onTouchStart: composeEventHandlers(onTouchStart, setIntent)\n }\n ];\n}\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return (event) => {\n theirHandler && theirHandler(event);\n if (!event.defaultPrevented) {\n ourHandler(event);\n }\n };\n}\nfunction getActiveMatches(matches, errors, isSpaMode) {\n if (isSpaMode && !isHydrated) {\n return [matches[0]];\n }\n if (errors) {\n let errorIdx = matches.findIndex((m) => errors[m.route.id] !== void 0);\n return matches.slice(0, errorIdx + 1);\n }\n return matches;\n}\nfunction Links() {\n let { isSpaMode, manifest, routeModules, criticalCss } = useFrameworkContext();\n let { errors, matches: routerMatches } = useDataRouterStateContext();\n let matches = getActiveMatches(routerMatches, errors, isSpaMode);\n let keyedLinks = React9.useMemo(\n () => getKeyedLinksForMatches(matches, routeModules, manifest),\n [matches, routeModules, manifest]\n );\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, criticalCss ? /* @__PURE__ */ React9.createElement(\"style\", { dangerouslySetInnerHTML: { __html: criticalCss } }) : null, keyedLinks.map(\n ({ key, link }) => isPageLinkDescriptor(link) ? /* @__PURE__ */ React9.createElement(PrefetchPageLinks, { key, ...link }) : /* @__PURE__ */ React9.createElement(\"link\", { key, ...link })\n ));\n}\nfunction PrefetchPageLinks({\n page,\n ...dataLinkProps\n}) {\n let { router } = useDataRouterContext2();\n let matches = React9.useMemo(\n () => matchRoutes(router.routes, page, router.basename),\n [router.routes, page, router.basename]\n );\n if (!matches) {\n console.warn(`Tried to prefetch ${page} but no routes matched.`);\n return null;\n }\n return /* @__PURE__ */ React9.createElement(PrefetchPageLinksImpl, { page, matches, ...dataLinkProps });\n}\nfunction useKeyedPrefetchLinks(matches) {\n let { manifest, routeModules } = useFrameworkContext();\n let [keyedPrefetchLinks, setKeyedPrefetchLinks] = React9.useState([]);\n React9.useEffect(() => {\n let interrupted = false;\n void getKeyedPrefetchLinks(matches, manifest, routeModules).then(\n (links) => {\n if (!interrupted) {\n setKeyedPrefetchLinks(links);\n }\n }\n );\n return () => {\n interrupted = true;\n };\n }, [matches, manifest, routeModules]);\n return keyedPrefetchLinks;\n}\nfunction PrefetchPageLinksImpl({\n page,\n matches: nextMatches,\n ...linkProps\n}) {\n let location = useLocation();\n let { manifest, routeModules } = useFrameworkContext();\n let { loaderData, matches } = useDataRouterStateContext();\n let newMatchesForData = React9.useMemo(\n () => getNewMatchesForLinks(\n page,\n nextMatches,\n matches,\n manifest,\n location,\n \"data\"\n ),\n [page, nextMatches, matches, manifest, location]\n );\n let newMatchesForAssets = React9.useMemo(\n () => getNewMatchesForLinks(\n page,\n nextMatches,\n matches,\n manifest,\n location,\n \"assets\"\n ),\n [page, nextMatches, matches, manifest, location]\n );\n let dataHrefs = React9.useMemo(() => {\n if (page === location.pathname + location.search + location.hash) {\n return [];\n }\n let routesParams = /* @__PURE__ */ new Set();\n let foundOptOutRoute = false;\n nextMatches.forEach((m) => {\n let manifestRoute = manifest.routes[m.route.id];\n if (!manifestRoute || !manifestRoute.hasLoader) {\n return;\n }\n if (!newMatchesForData.some((m2) => m2.route.id === m.route.id) && m.route.id in loaderData && routeModules[m.route.id]?.shouldRevalidate) {\n foundOptOutRoute = true;\n } else if (manifestRoute.hasClientLoader) {\n foundOptOutRoute = true;\n } else {\n routesParams.add(m.route.id);\n }\n });\n if (routesParams.size === 0) {\n return [];\n }\n let url = singleFetchUrl(page);\n if (foundOptOutRoute && routesParams.size > 0) {\n url.searchParams.set(\n \"_routes\",\n nextMatches.filter((m) => routesParams.has(m.route.id)).map((m) => m.route.id).join(\",\")\n );\n }\n return [url.pathname + url.search];\n }, [\n loaderData,\n location,\n manifest,\n newMatchesForData,\n nextMatches,\n page,\n routeModules\n ]);\n let moduleHrefs = React9.useMemo(\n () => getModuleLinkHrefs(newMatchesForAssets, manifest),\n [newMatchesForAssets, manifest]\n );\n let keyedPrefetchLinks = useKeyedPrefetchLinks(newMatchesForAssets);\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, dataHrefs.map((href) => /* @__PURE__ */ React9.createElement(\"link\", { key: href, rel: \"prefetch\", as: \"fetch\", href, ...linkProps })), moduleHrefs.map((href) => /* @__PURE__ */ React9.createElement(\"link\", { key: href, rel: \"modulepreload\", href, ...linkProps })), keyedPrefetchLinks.map(({ key, link }) => (\n // these don't spread `linkProps` because they are full link descriptors\n // already with their own props\n /* @__PURE__ */ React9.createElement(\"link\", { key, ...link })\n )));\n}\nfunction Meta() {\n let { isSpaMode, routeModules } = useFrameworkContext();\n let {\n errors,\n matches: routerMatches,\n loaderData\n } = useDataRouterStateContext();\n let location = useLocation();\n let _matches = getActiveMatches(routerMatches, errors, isSpaMode);\n let error = null;\n if (errors) {\n error = errors[_matches[_matches.length - 1].route.id];\n }\n let meta = [];\n let leafMeta = null;\n let matches = [];\n for (let i = 0; i < _matches.length; i++) {\n let _match = _matches[i];\n let routeId = _match.route.id;\n let data2 = loaderData[routeId];\n let params = _match.params;\n let routeModule = routeModules[routeId];\n let routeMeta = [];\n let match = {\n id: routeId,\n data: data2,\n meta: [],\n params: _match.params,\n pathname: _match.pathname,\n handle: _match.route.handle,\n error\n };\n matches[i] = match;\n if (routeModule?.meta) {\n routeMeta = typeof routeModule.meta === \"function\" ? routeModule.meta({\n data: data2,\n params,\n location,\n matches,\n error\n }) : Array.isArray(routeModule.meta) ? [...routeModule.meta] : routeModule.meta;\n } else if (leafMeta) {\n routeMeta = [...leafMeta];\n }\n routeMeta = routeMeta || [];\n if (!Array.isArray(routeMeta)) {\n throw new Error(\n \"The route at \" + _match.route.path + \" returns an invalid value. All route meta functions must return an array of meta objects.\\n\\nTo reference the meta function API, see https://remix.run/route/meta\"\n );\n }\n match.meta = routeMeta;\n matches[i] = match;\n meta = [...routeMeta];\n leafMeta = meta;\n }\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, meta.flat().map((metaProps) => {\n if (!metaProps) {\n return null;\n }\n if (\"tagName\" in metaProps) {\n let { tagName, ...rest } = metaProps;\n if (!isValidMetaTag(tagName)) {\n console.warn(\n `A meta object uses an invalid tagName: ${tagName}. Expected either 'link' or 'meta'`\n );\n return null;\n }\n let Comp = tagName;\n return /* @__PURE__ */ React9.createElement(Comp, { key: JSON.stringify(rest), ...rest });\n }\n if (\"title\" in metaProps) {\n return /* @__PURE__ */ React9.createElement(\"title\", { key: \"title\" }, String(metaProps.title));\n }\n if (\"charset\" in metaProps) {\n metaProps.charSet ?? (metaProps.charSet = metaProps.charset);\n delete metaProps.charset;\n }\n if (\"charSet\" in metaProps && metaProps.charSet != null) {\n return typeof metaProps.charSet === \"string\" ? /* @__PURE__ */ React9.createElement(\"meta\", { key: \"charSet\", charSet: metaProps.charSet }) : null;\n }\n if (\"script:ld+json\" in metaProps) {\n try {\n let json = JSON.stringify(metaProps[\"script:ld+json\"]);\n return /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n key: `script:ld+json:${json}`,\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: { __html: json }\n }\n );\n } catch (err) {\n return null;\n }\n }\n return /* @__PURE__ */ React9.createElement(\"meta\", { key: JSON.stringify(metaProps), ...metaProps });\n }));\n}\nfunction isValidMetaTag(tagName) {\n return typeof tagName === \"string\" && /^(meta|link)$/.test(tagName);\n}\nvar isHydrated = false;\nfunction Scripts(props) {\n let { manifest, serverHandoffString, isSpaMode, renderMeta } = useFrameworkContext();\n let { router, static: isStatic, staticContext } = useDataRouterContext2();\n let { matches: routerMatches } = useDataRouterStateContext();\n let enableFogOfWar = isFogOfWarEnabled(isSpaMode);\n if (renderMeta) {\n renderMeta.didRenderScripts = true;\n }\n let matches = getActiveMatches(routerMatches, null, isSpaMode);\n React9.useEffect(() => {\n isHydrated = true;\n }, []);\n let initialScripts = React9.useMemo(() => {\n let streamScript = \"window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());\";\n let contextScript = staticContext ? `window.__reactRouterContext = ${serverHandoffString};${streamScript}` : \" \";\n let routeModulesScript = !isStatic ? \" \" : `${manifest.hmr?.runtime ? `import ${JSON.stringify(manifest.hmr.runtime)};` : \"\"}${!enableFogOfWar ? `import ${JSON.stringify(manifest.url)}` : \"\"};\n${matches.map(\n (match, index) => `import * as route${index} from ${JSON.stringify(\n manifest.routes[match.route.id].module\n )};`\n ).join(\"\\n\")}\n ${enableFogOfWar ? (\n // Inline a minimal manifest with the SSR matches\n `window.__reactRouterManifest = ${JSON.stringify(\n getPartialManifest(manifest, router),\n null,\n 2\n )};`\n ) : \"\"}\n window.__reactRouterRouteModules = {${matches.map((match, index) => `${JSON.stringify(match.route.id)}:route${index}`).join(\",\")}};\n\nimport(${JSON.stringify(manifest.entry.module)});`;\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: createHtml(contextScript),\n type: void 0\n }\n ), /* @__PURE__ */ React9.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: createHtml(routeModulesScript),\n type: \"module\",\n async: true\n }\n ));\n }, []);\n let routePreloads = matches.map((match) => {\n let route = manifest.routes[match.route.id];\n return route ? (route.imports || []).concat([route.module]) : [];\n }).flat(1);\n let preloads = isHydrated ? [] : manifest.entry.imports.concat(routePreloads);\n return isHydrated ? null : /* @__PURE__ */ React9.createElement(React9.Fragment, null, !enableFogOfWar ? /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n rel: \"modulepreload\",\n href: manifest.url,\n crossOrigin: props.crossOrigin\n }\n ) : null, /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n rel: \"modulepreload\",\n href: manifest.entry.module,\n crossOrigin: props.crossOrigin\n }\n ), dedupe(preloads).map((path) => /* @__PURE__ */ React9.createElement(\n \"link\",\n {\n key: path,\n rel: \"modulepreload\",\n href: path,\n crossOrigin: props.crossOrigin\n }\n )), initialScripts);\n}\nfunction dedupe(array) {\n return [...new Set(array)];\n}\nfunction mergeRefs(...refs) {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\n// lib/dom/lib.tsx\nvar isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\ntry {\n if (isBrowser) {\n window.__reactRouterVersion = \"7.0.2\";\n }\n} catch (e) {\n}\nfunction createBrowserRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window\n }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n future: opts?.future,\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n window: opts?.window\n }).initialize();\n}\nfunction parseHydrationData() {\n let state = window?.__staticRouterHydrationData;\n if (state && state.errors) {\n state = {\n ...state,\n errors: deserializeErrors(state.errors)\n };\n }\n return state;\n}\nfunction deserializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponseImpl(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n let error = new ErrorConstructor(val.message);\n error.stack = \"\";\n serialized[key] = error;\n } catch (e) {\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n error.stack = \"\";\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nfunction BrowserRouter({\n basename,\n children,\n window: window2\n}) {\n let historyRef = React10.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window: window2, v5Compat: true });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction HashRouter({ basename, children, window: window2 }) {\n let historyRef = React10.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window: window2, v5Compat: true });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nfunction HistoryRouter({\n basename,\n children,\n history\n}) {\n let [state, setStateImpl] = React10.useState({\n action: history.action,\n location: history.location\n });\n let setState = React10.useCallback(\n (newState) => {\n React10.startTransition(() => setStateImpl(newState));\n },\n [setStateImpl]\n );\n React10.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */ React10.createElement(\n Router,\n {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n }\n );\n}\nHistoryRouter.displayName = \"unstable_HistoryRouter\";\nvar ABSOLUTE_URL_REGEX2 = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar Link = React10.forwardRef(\n function LinkWithRef({\n onClick,\n discover = \"render\",\n prefetch = \"none\",\n relative,\n reloadDocument,\n replace: replace2,\n state,\n target,\n to,\n preventScrollReset,\n viewTransition,\n ...rest\n }, forwardedRef) {\n let { basename } = React10.useContext(NavigationContext);\n let isAbsolute = typeof to === \"string\" && ABSOLUTE_URL_REGEX2.test(to);\n let absoluteHref;\n let isExternal = false;\n if (typeof to === \"string\" && isAbsolute) {\n absoluteHref = to;\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n if (targetUrl.origin === currentUrl.origin && path != null) {\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n warning(\n false,\n `<Link to=\"${to}\"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`\n );\n }\n }\n }\n let href = useHref(to, { relative });\n let [shouldPrefetch, prefetchRef, prefetchHandlers] = usePrefetchBehavior(\n prefetch,\n rest\n );\n let internalOnClick = useLinkClickHandler(to, {\n replace: replace2,\n state,\n target,\n preventScrollReset,\n relative,\n viewTransition\n });\n function handleClick(event) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n let link = (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n /* @__PURE__ */ React10.createElement(\n \"a\",\n {\n ...rest,\n ...prefetchHandlers,\n href: absoluteHref || href,\n onClick: isExternal || reloadDocument ? onClick : handleClick,\n ref: mergeRefs(forwardedRef, prefetchRef),\n target,\n \"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n }\n )\n );\n return shouldPrefetch && !isAbsolute ? /* @__PURE__ */ React10.createElement(React10.Fragment, null, link, /* @__PURE__ */ React10.createElement(PrefetchPageLinks, { page: href })) : link;\n }\n);\nLink.displayName = \"Link\";\nvar NavLink = React10.forwardRef(\n function NavLinkWithRef({\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n viewTransition,\n children,\n ...rest\n }, ref) {\n let path = useResolvedPath(to, { relative: rest.relative });\n let location = useLocation();\n let routerState = React10.useContext(DataRouterStateContext);\n let { navigator: navigator2, basename } = React10.useContext(NavigationContext);\n let isTransitioning = routerState != null && // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useViewTransitionState(path) && viewTransition === true;\n let toPathname = navigator2.encodeLocation ? navigator2.encodeLocation(path).pathname : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n toPathname = toPathname.toLowerCase();\n }\n if (nextLocationPathname && basename) {\n nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n }\n const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n let renderProps = {\n isActive,\n isPending,\n isTransitioning\n };\n let ariaCurrent = isActive ? ariaCurrentProp : void 0;\n let className;\n if (typeof classNameProp === \"function\") {\n className = classNameProp(renderProps);\n } else {\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n isTransitioning ? \"transitioning\" : null\n ].filter(Boolean).join(\" \");\n }\n let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n return /* @__PURE__ */ React10.createElement(\n Link,\n {\n ...rest,\n \"aria-current\": ariaCurrent,\n className,\n ref,\n style,\n to,\n viewTransition\n },\n typeof children === \"function\" ? children(renderProps) : children\n );\n }\n);\nNavLink.displayName = \"NavLink\";\nvar Form = React10.forwardRef(\n ({\n discover = \"render\",\n fetcherKey,\n navigate,\n reloadDocument,\n replace: replace2,\n state,\n method = defaultMethod,\n action,\n onSubmit,\n relative,\n preventScrollReset,\n viewTransition,\n ...props\n }, forwardedRef) => {\n let submit = useSubmit();\n let formAction = useFormAction(action, { relative });\n let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let isAbsolute = typeof action === \"string\" && ABSOLUTE_URL_REGEX2.test(action);\n let submitHandler = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n let submitter = event.nativeEvent.submitter;\n let submitMethod = submitter?.getAttribute(\"formmethod\") || method;\n submit(submitter || event.currentTarget, {\n fetcherKey,\n method: submitMethod,\n navigate,\n replace: replace2,\n state,\n relative,\n preventScrollReset,\n viewTransition\n });\n };\n return /* @__PURE__ */ React10.createElement(\n \"form\",\n {\n ref: forwardedRef,\n method: formMethod,\n action: formAction,\n onSubmit: reloadDocument ? onSubmit : submitHandler,\n ...props,\n \"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n }\n );\n }\n);\nForm.displayName = \"Form\";\nfunction ScrollRestoration({\n getKey,\n storageKey,\n ...props\n}) {\n let remixContext = React10.useContext(FrameworkContext);\n let { basename } = React10.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n useScrollRestoration({ getKey, storageKey });\n let ssrKey = React10.useMemo(\n () => {\n if (!remixContext || !getKey) return null;\n let userKey = getScrollRestorationKey(\n location,\n matches,\n basename,\n getKey\n );\n return userKey !== location.key ? userKey : null;\n },\n // Nah, we only need this the first time for the SSR render\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n if (!remixContext || remixContext.isSpaMode) {\n return null;\n }\n let restoreScroll = ((storageKey2, restoreKey) => {\n if (!window.history.state || !window.history.state.key) {\n let key = Math.random().toString(32).slice(2);\n window.history.replaceState({ key }, \"\");\n }\n try {\n let positions = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n let storedY = positions[restoreKey || window.history.state.key];\n if (typeof storedY === \"number\") {\n window.scrollTo(0, storedY);\n }\n } catch (error) {\n console.error(error);\n sessionStorage.removeItem(storageKey2);\n }\n }).toString();\n return /* @__PURE__ */ React10.createElement(\n \"script\",\n {\n ...props,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: {\n __html: `(${restoreScroll})(${JSON.stringify(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n )}, ${JSON.stringify(ssrKey)})`\n }\n }\n );\n}\nScrollRestoration.displayName = \"ScrollRestoration\";\nfunction getDataRouterConsoleError2(hookName) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext3(hookName) {\n let ctx = React10.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError2(hookName));\n return ctx;\n}\nfunction useDataRouterState2(hookName) {\n let state = React10.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError2(hookName));\n return state;\n}\nfunction useLinkClickHandler(to, {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n viewTransition\n} = {}) {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n return React10.useCallback(\n (event) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n let replace2 = replaceProp !== void 0 ? replaceProp : createPath(location) === createPath(path);\n navigate(to, {\n replace: replace2,\n state,\n preventScrollReset,\n relative,\n viewTransition\n });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n viewTransition\n ]\n );\n}\nfunction useSearchParams(defaultInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.`\n );\n let defaultSearchParamsRef = React10.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React10.useRef(false);\n let location = useLocation();\n let searchParams = React10.useMemo(\n () => (\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(\n location.search,\n hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n )\n ),\n [location.search]\n );\n let navigate = useNavigate();\n let setSearchParams = React10.useCallback(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n return [searchParams, setSearchParams];\n}\nvar fetcherId = 0;\nvar getUniqueFetcherId = () => `__${String(++fetcherId)}__`;\nfunction useSubmit() {\n let { router } = useDataRouterContext3(\"useSubmit\" /* UseSubmit */);\n let { basename } = React10.useContext(NavigationContext);\n let currentRouteId = useRouteId();\n return React10.useCallback(\n async (target, options = {}) => {\n let { action, method, encType, formData, body } = getFormSubmissionInfo(\n target,\n basename\n );\n if (options.navigate === false) {\n let key = options.fetcherKey || getUniqueFetcherId();\n await router.fetch(key, currentRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n flushSync: options.flushSync\n });\n } else {\n await router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n replace: options.replace,\n state: options.state,\n fromRouteId: currentRouteId,\n flushSync: options.flushSync,\n viewTransition: options.viewTransition\n });\n }\n },\n [router, basename, currentRouteId]\n );\n}\nfunction useFormAction(action, { relative } = {}) {\n let { basename } = React10.useContext(NavigationContext);\n let routeContext = React10.useContext(RouteContext);\n invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n let [match] = routeContext.matches.slice(-1);\n let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n let location = useLocation();\n if (action == null) {\n path.search = location.search;\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n let hasNakedIndexParam = indexValues.some((v) => v === \"\");\n if (hasNakedIndexParam) {\n params.delete(\"index\");\n indexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\nfunction useFetcher({\n key\n} = {}) {\n let { router } = useDataRouterContext3(\"useFetcher\" /* UseFetcher */);\n let state = useDataRouterState2(\"useFetcher\" /* UseFetcher */);\n let fetcherData = React10.useContext(FetchersContext);\n let route = React10.useContext(RouteContext);\n let routeId = route.matches[route.matches.length - 1]?.route.id;\n invariant(fetcherData, `useFetcher must be used inside a FetchersContext`);\n invariant(route, `useFetcher must be used inside a RouteContext`);\n invariant(\n routeId != null,\n `useFetcher can only be used on routes that contain a unique \"id\"`\n );\n let defaultKey = React10.useId();\n let [fetcherKey, setFetcherKey] = React10.useState(key || defaultKey);\n if (key && key !== fetcherKey) {\n setFetcherKey(key);\n }\n React10.useEffect(() => {\n router.getFetcher(fetcherKey);\n return () => router.deleteFetcher(fetcherKey);\n }, [router, fetcherKey]);\n let load = React10.useCallback(\n async (href, opts) => {\n invariant(routeId, \"No routeId available for fetcher.load()\");\n await router.fetch(fetcherKey, routeId, href, opts);\n },\n [fetcherKey, routeId, router]\n );\n let submitImpl = useSubmit();\n let submit = React10.useCallback(\n async (target, opts) => {\n await submitImpl(target, {\n ...opts,\n navigate: false,\n fetcherKey\n });\n },\n [fetcherKey, submitImpl]\n );\n let FetcherForm = React10.useMemo(() => {\n let FetcherForm2 = React10.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ React10.createElement(Form, { ...props, navigate: false, fetcherKey, ref });\n }\n );\n FetcherForm2.displayName = \"fetcher.Form\";\n return FetcherForm2;\n }, [fetcherKey]);\n let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n let data2 = fetcherData.get(fetcherKey);\n let fetcherWithComponents = React10.useMemo(\n () => ({\n Form: FetcherForm,\n submit,\n load,\n ...fetcher,\n data: data2\n }),\n [FetcherForm, submit, load, fetcher, data2]\n );\n return fetcherWithComponents;\n}\nfunction useFetchers() {\n let state = useDataRouterState2(\"useFetchers\" /* UseFetchers */);\n return Array.from(state.fetchers.entries()).map(([key, fetcher]) => ({\n ...fetcher,\n key\n }));\n}\nvar SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nvar savedScrollPositions = {};\nfunction getScrollRestorationKey(location, matches, basename, getKey) {\n let key = null;\n if (getKey) {\n if (basename !== \"/\") {\n key = getKey(\n {\n ...location,\n pathname: stripBasename(location.pathname, basename) || location.pathname\n },\n matches\n );\n } else {\n key = getKey(location, matches);\n }\n }\n if (key == null) {\n key = location.key;\n }\n return key;\n}\nfunction useScrollRestoration({\n getKey,\n storageKey\n} = {}) {\n let { router } = useDataRouterContext3(\"useScrollRestoration\" /* UseScrollRestoration */);\n let { restoreScrollPosition, preventScrollReset } = useDataRouterState2(\n \"useScrollRestoration\" /* UseScrollRestoration */\n );\n let { basename } = React10.useContext(NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n React10.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n usePageHide(\n React10.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = getScrollRestorationKey(location, matches, basename, getKey);\n savedScrollPositions[key] = window.scrollY;\n }\n try {\n sessionStorage.setItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n JSON.stringify(savedScrollPositions)\n );\n } catch (error) {\n warning(\n false,\n `Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${error}).`\n );\n }\n window.history.scrollRestoration = \"auto\";\n }, [navigation.state, getKey, basename, location, matches, storageKey])\n );\n if (typeof document !== \"undefined\") {\n React10.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n );\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n }\n }, [storageKey]);\n React10.useLayoutEffect(() => {\n let disableScrollRestoration = router?.enableScrollRestoration(\n savedScrollPositions,\n () => window.scrollY,\n getKey ? (location2, matches2) => getScrollRestorationKey(location2, matches2, basename, getKey) : void 0\n );\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n React10.useLayoutEffect(() => {\n if (restoreScrollPosition === false) {\n return;\n }\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n if (location.hash) {\n let el = document.getElementById(\n decodeURIComponent(location.hash.slice(1))\n );\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n if (preventScrollReset === true) {\n return;\n }\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\nfunction useBeforeUnload(callback, options) {\n let { capture } = options || {};\n React10.useEffect(() => {\n let opts = capture != null ? { capture } : void 0;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\nfunction usePageHide(callback, options) {\n let { capture } = options || {};\n React10.useEffect(() => {\n let opts = capture != null ? { capture } : void 0;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\nfunction usePrompt({\n when,\n message\n}) {\n let blocker = useBlocker(when);\n React10.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n React10.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n}\nfunction useViewTransitionState(to, opts = {}) {\n let vtContext = React10.useContext(ViewTransitionContext);\n invariant(\n vtContext != null,\n \"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?\"\n );\n let { basename } = useDataRouterContext3(\n \"useViewTransitionState\" /* useViewTransitionState */\n );\n let path = useResolvedPath(to, { relative: opts.relative });\n if (!vtContext.isTransitioning) {\n return false;\n }\n let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n\n// lib/dom/server.tsx\nimport * as React11 from \"react\";\nfunction StaticRouter({\n basename,\n children,\n location: locationProp = \"/\"\n}) {\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let action = \"POP\" /* Pop */;\n let location = {\n pathname: locationProp.pathname || \"/\",\n search: locationProp.search || \"\",\n hash: locationProp.hash || \"\",\n state: locationProp.state != null ? locationProp.state : null,\n key: locationProp.key || \"default\"\n };\n let staticNavigator = getStatelessNavigator();\n return /* @__PURE__ */ React11.createElement(\n Router,\n {\n basename,\n children,\n location,\n navigationType: action,\n navigator: staticNavigator,\n static: true\n }\n );\n}\nfunction StaticRouterProvider({\n context,\n router,\n hydrate = true,\n nonce\n}) {\n invariant(\n router && context,\n \"You must provide `router` and `context` to <StaticRouterProvider>\"\n );\n let dataRouterContext = {\n router,\n navigator: getStatelessNavigator(),\n static: true,\n staticContext: context,\n basename: context.basename || \"/\"\n };\n let fetchersContext = /* @__PURE__ */ new Map();\n let hydrateScript = \"\";\n if (hydrate !== false) {\n let data2 = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors(context.errors)\n };\n let json = htmlEscape(JSON.stringify(JSON.stringify(data2)));\n hydrateScript = `window.__staticRouterHydrationData = JSON.parse(${json});`;\n }\n let { state } = dataRouterContext.router;\n return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React11.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React11.createElement(FetchersContext.Provider, { value: fetchersContext }, /* @__PURE__ */ React11.createElement(ViewTransitionContext.Provider, { value: { isTransitioning: false } }, /* @__PURE__ */ React11.createElement(\n Router,\n {\n basename: dataRouterContext.basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: dataRouterContext.navigator,\n static: dataRouterContext.static\n },\n /* @__PURE__ */ React11.createElement(\n DataRoutes2,\n {\n routes: router.routes,\n future: router.future,\n state\n }\n )\n ))))), hydrateScript ? /* @__PURE__ */ React11.createElement(\n \"script\",\n {\n suppressHydrationWarning: true,\n nonce,\n dangerouslySetInnerHTML: { __html: hydrateScript }\n }\n ) : null);\n}\nfunction DataRoutes2({\n routes,\n future,\n state\n}) {\n return useRoutesImpl(routes, void 0, state, future);\n}\nfunction serializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (isRouteErrorResponse(val)) {\n serialized[key] = { ...val, __type: \"RouteErrorResponse\" };\n } else if (val instanceof Error) {\n serialized[key] = {\n message: val.message,\n __type: \"Error\",\n // If this is a subclass (i.e., ReferenceError), send up the type so we\n // can re-create the same type during hydration.\n ...val.name !== \"Error\" ? {\n __subType: val.name\n } : {}\n };\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nfunction getStatelessNavigator() {\n return {\n createHref,\n encodeLocation,\n push(to) {\n throw new Error(\n `You cannot use navigator.push() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${JSON.stringify(to)})\\` somewhere in your app.`\n );\n },\n replace(to) {\n throw new Error(\n `You cannot use navigator.replace() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${JSON.stringify(to)}, { replace: true })\\` somewhere in your app.`\n );\n },\n go(delta) {\n throw new Error(\n `You cannot use navigator.go() on the server because it is a stateless environment. This error was probably triggered when you did a \\`navigate(${delta})\\` somewhere in your app.`\n );\n },\n back() {\n throw new Error(\n `You cannot use navigator.back() on the server because it is a stateless environment.`\n );\n },\n forward() {\n throw new Error(\n `You cannot use navigator.forward() on the server because it is a stateless environment.`\n );\n }\n };\n}\nfunction createStaticHandler2(routes, opts) {\n return createStaticHandler(routes, {\n ...opts,\n mapRouteProperties\n });\n}\nfunction createStaticRouter(routes, context, opts = {}) {\n let manifest = {};\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n void 0,\n manifest\n );\n let matches = context.matches.map((match) => {\n let route = manifest[match.route.id] || match.route;\n return {\n ...match,\n route\n };\n });\n let msg = (method) => `You cannot use router.${method}() on the server because it is a stateless environment`;\n return {\n get basename() {\n return context.basename;\n },\n get future() {\n return {\n ...opts?.future\n };\n },\n get state() {\n return {\n historyAction: \"POP\" /* Pop */,\n location: context.location,\n matches,\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: context.errors,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n restoreScrollPosition: null,\n preventScrollReset: false,\n revalidation: \"idle\",\n fetchers: /* @__PURE__ */ new Map(),\n blockers: /* @__PURE__ */ new Map()\n };\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return void 0;\n },\n initialize() {\n throw msg(\"initialize\");\n },\n subscribe() {\n throw msg(\"subscribe\");\n },\n enableScrollRestoration() {\n throw msg(\"enableScrollRestoration\");\n },\n navigate() {\n throw msg(\"navigate\");\n },\n fetch() {\n throw msg(\"fetch\");\n },\n revalidate() {\n throw msg(\"revalidate\");\n },\n createHref,\n encodeLocation,\n getFetcher() {\n return IDLE_FETCHER;\n },\n deleteFetcher() {\n throw msg(\"deleteFetcher\");\n },\n dispose() {\n throw msg(\"dispose\");\n },\n getBlocker() {\n return IDLE_BLOCKER;\n },\n deleteBlocker() {\n throw msg(\"deleteBlocker\");\n },\n patchRoutes() {\n throw msg(\"patchRoutes\");\n },\n _internalFetchControllers: /* @__PURE__ */ new Map(),\n _internalSetRoutes() {\n throw msg(\"_internalSetRoutes\");\n }\n };\n}\nfunction createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n}\nfunction encodeLocation(to) {\n let href = typeof to === \"string\" ? to : createPath(to);\n href = href.replace(/ $/, \"%20\");\n let encoded = ABSOLUTE_URL_REGEX3.test(href) ? new URL(href) : new URL(href, \"http://localhost\");\n return {\n pathname: encoded.pathname,\n search: encoded.search,\n hash: encoded.hash\n };\n}\nvar ABSOLUTE_URL_REGEX3 = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar ESCAPE_LOOKUP2 = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX2 = /[&><\\u2028\\u2029]/g;\nfunction htmlEscape(str) {\n return str.replace(ESCAPE_REGEX2, (match) => ESCAPE_LOOKUP2[match]);\n}\n\n// lib/dom/ssr/server.tsx\nimport * as React12 from \"react\";\nfunction ServerRouter({\n context,\n url,\n abortDelay,\n nonce\n}) {\n if (typeof url === \"string\") {\n url = new URL(url);\n }\n let { manifest, routeModules, criticalCss, serverHandoffString } = context;\n let routes = createServerRoutes(\n manifest.routes,\n routeModules,\n context.future,\n context.isSpaMode\n );\n context.staticHandlerContext.loaderData = {\n ...context.staticHandlerContext.loaderData\n };\n for (let match of context.staticHandlerContext.matches) {\n let routeId = match.route.id;\n let route = routeModules[routeId];\n let manifestRoute = context.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(manifestRoute, route, context.isSpaMode) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete context.staticHandlerContext.loaderData[routeId];\n }\n }\n let router = createStaticRouter(routes, context.staticHandlerContext);\n return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(\n FrameworkContext.Provider,\n {\n value: {\n manifest,\n routeModules,\n criticalCss,\n serverHandoffString,\n future: context.future,\n isSpaMode: context.isSpaMode,\n serializeError: context.serializeError,\n abortDelay,\n renderMeta: context.renderMeta\n }\n },\n /* @__PURE__ */ React12.createElement(RemixErrorBoundary, { location: router.state.location }, /* @__PURE__ */ React12.createElement(\n StaticRouterProvider,\n {\n router,\n context: context.staticHandlerContext,\n hydrate: false\n }\n ))\n ), context.serverHandoffStream ? /* @__PURE__ */ React12.createElement(React12.Suspense, null, /* @__PURE__ */ React12.createElement(\n StreamTransfer,\n {\n context,\n identifier: 0,\n reader: context.serverHandoffStream.getReader(),\n textDecoder: new TextDecoder(),\n nonce\n }\n )) : null);\n}\n\n// lib/dom/ssr/routes-test-stub.tsx\nimport * as React13 from \"react\";\nfunction createRoutesStub(routes, context = {}) {\n return function RoutesTestStub({\n initialEntries,\n initialIndex,\n hydrationData,\n future\n }) {\n let routerRef = React13.useRef();\n let remixContextRef = React13.useRef();\n if (routerRef.current == null) {\n remixContextRef.current = {\n future: {},\n manifest: {\n routes: {},\n entry: { imports: [], module: \"\" },\n url: \"\",\n version: \"\"\n },\n routeModules: {},\n isSpaMode: false\n };\n let patched = processRoutes(\n // @ts-expect-error loader/action context types don't match :/\n convertRoutesToDataRoutes(routes, (r) => r),\n context,\n remixContextRef.current.manifest,\n remixContextRef.current.routeModules\n );\n routerRef.current = createMemoryRouter(patched, {\n initialEntries,\n initialIndex,\n hydrationData\n });\n }\n return /* @__PURE__ */ React13.createElement(FrameworkContext.Provider, { value: remixContextRef.current }, /* @__PURE__ */ React13.createElement(RouterProvider, { router: routerRef.current }));\n };\n}\nfunction processRoutes(routes, context, manifest, routeModules, parentId) {\n return routes.map((route) => {\n if (!route.id) {\n throw new Error(\n \"Expected a route.id in @remix-run/testing processRoutes() function\"\n );\n }\n let { loader, action } = route;\n let newRoute = {\n id: route.id,\n path: route.path,\n index: route.index,\n Component: route.Component,\n HydrateFallback: route.HydrateFallback,\n ErrorBoundary: route.ErrorBoundary,\n action: action ? (args) => action({ ...args, context }) : void 0,\n loader: loader ? (args) => loader({ ...args, context }) : void 0,\n handle: route.handle,\n shouldRevalidate: route.shouldRevalidate\n };\n let entryRoute = {\n id: route.id,\n path: route.path,\n index: route.index,\n parentId,\n hasAction: route.action != null,\n hasLoader: route.loader != null,\n // When testing routes, you should just be stubbing loader/action, not\n // trying to re-implement the full loader/clientLoader/SSR/hydration flow.\n // That is better tested via E2E tests.\n hasClientAction: false,\n hasClientLoader: false,\n hasErrorBoundary: route.ErrorBoundary != null,\n module: \"build/stub-path-to-module.js\"\n // any need for this?\n };\n manifest.routes[newRoute.id] = entryRoute;\n routeModules[route.id] = {\n default: route.Component || Outlet,\n ErrorBoundary: route.ErrorBoundary || void 0,\n handle: route.handle,\n links: route.links,\n meta: route.meta,\n shouldRevalidate: route.shouldRevalidate\n };\n if (route.children) {\n newRoute.children = processRoutes(\n route.children,\n context,\n manifest,\n routeModules,\n newRoute.id\n );\n }\n return newRoute;\n });\n}\n\n// lib/server-runtime/cookies.ts\nimport { parse, serialize } from \"cookie\";\n\n// lib/server-runtime/crypto.ts\nvar encoder = new TextEncoder();\nvar sign = async (value, secret) => {\n let data2 = encoder.encode(value);\n let key = await createKey2(secret, [\"sign\"]);\n let signature = await crypto.subtle.sign(\"HMAC\", key, data2);\n let hash = btoa(String.fromCharCode(...new Uint8Array(signature))).replace(\n /=+$/,\n \"\"\n );\n return value + \".\" + hash;\n};\nvar unsign = async (cookie, secret) => {\n let index = cookie.lastIndexOf(\".\");\n let value = cookie.slice(0, index);\n let hash = cookie.slice(index + 1);\n let data2 = encoder.encode(value);\n let key = await createKey2(secret, [\"verify\"]);\n let signature = byteStringToUint8Array(atob(hash));\n let valid = await crypto.subtle.verify(\"HMAC\", key, signature, data2);\n return valid ? value : false;\n};\nvar createKey2 = async (secret, usages) => crypto.subtle.importKey(\n \"raw\",\n encoder.encode(secret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n usages\n);\nfunction byteStringToUint8Array(byteString) {\n let array = new Uint8Array(byteString.length);\n for (let i = 0; i < byteString.length; i++) {\n array[i] = byteString.charCodeAt(i);\n }\n return array;\n}\n\n// lib/server-runtime/cookies.ts\nvar createCookie = (name, cookieOptions = {}) => {\n let { secrets = [], ...options } = {\n path: \"/\",\n sameSite: \"lax\",\n ...cookieOptions\n };\n warnOnceAboutExpiresCookie(name, options.expires);\n return {\n get name() {\n return name;\n },\n get isSigned() {\n return secrets.length > 0;\n },\n get expires() {\n return typeof options.maxAge !== \"undefined\" ? new Date(Date.now() + options.maxAge * 1e3) : options.expires;\n },\n async parse(cookieHeader, parseOptions) {\n if (!cookieHeader) return null;\n let cookies = parse(cookieHeader, { ...options, ...parseOptions });\n if (name in cookies) {\n let value = cookies[name];\n if (typeof value === \"string\" && value !== \"\") {\n let decoded = await decodeCookieValue(value, secrets);\n return decoded;\n } else {\n return \"\";\n }\n } else {\n return null;\n }\n },\n async serialize(value, serializeOptions) {\n return serialize(\n name,\n value === \"\" ? \"\" : await encodeCookieValue(value, secrets),\n {\n ...options,\n ...serializeOptions\n }\n );\n }\n };\n};\nvar isCookie = (object) => {\n return object != null && typeof object.name === \"string\" && typeof object.isSigned === \"boolean\" && typeof object.parse === \"function\" && typeof object.serialize === \"function\";\n};\nasync function encodeCookieValue(value, secrets) {\n let encoded = encodeData(value);\n if (secrets.length > 0) {\n encoded = await sign(encoded, secrets[0]);\n }\n return encoded;\n}\nasync function decodeCookieValue(value, secrets) {\n if (secrets.length > 0) {\n for (let secret of secrets) {\n let unsignedValue = await unsign(value, secret);\n if (unsignedValue !== false) {\n return decodeData(unsignedValue);\n }\n }\n return null;\n }\n return decodeData(value);\n}\nfunction encodeData(value) {\n return btoa(myUnescape(encodeURIComponent(JSON.stringify(value))));\n}\nfunction decodeData(value) {\n try {\n return JSON.parse(decodeURIComponent(myEscape(atob(value))));\n } catch (error) {\n return {};\n }\n}\nfunction myEscape(value) {\n let str = value.toString();\n let result = \"\";\n let index = 0;\n let chr, code;\n while (index < str.length) {\n chr = str.charAt(index++);\n if (/[\\w*+\\-./@]/.exec(chr)) {\n result += chr;\n } else {\n code = chr.charCodeAt(0);\n if (code < 256) {\n result += \"%\" + hex(code, 2);\n } else {\n result += \"%u\" + hex(code, 4).toUpperCase();\n }\n }\n }\n return result;\n}\nfunction hex(code, length) {\n let result = code.toString(16);\n while (result.length < length) result = \"0\" + result;\n return result;\n}\nfunction myUnescape(value) {\n let str = value.toString();\n let result = \"\";\n let index = 0;\n let chr, part;\n while (index < str.length) {\n chr = str.charAt(index++);\n if (chr === \"%\") {\n if (str.charAt(index) === \"u\") {\n part = str.slice(index + 1, index + 5);\n if (/^[\\da-f]{4}$/i.exec(part)) {\n result += String.fromCharCode(parseInt(part, 16));\n index += 5;\n continue;\n }\n } else {\n part = str.slice(index, index + 2);\n if (/^[\\da-f]{2}$/i.exec(part)) {\n result += String.fromCharCode(parseInt(part, 16));\n index += 2;\n continue;\n }\n }\n }\n result += chr;\n }\n return result;\n}\nfunction warnOnceAboutExpiresCookie(name, expires) {\n warnOnce(\n !expires,\n `The \"${name}\" cookie has an \"expires\" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use \\`commitSession(session, { expires })\\` if using a session storage object, or \\`cookie.serialize(\"value\", { expires })\\` if you're using the cookie directly.`\n );\n}\n\n// lib/server-runtime/entry.ts\nfunction createEntryRouteModules(manifest) {\n return Object.keys(manifest).reduce((memo2, routeId) => {\n let route = manifest[routeId];\n if (route) {\n memo2[routeId] = route.module;\n }\n return memo2;\n }, {});\n}\n\n// lib/server-runtime/mode.ts\nvar ServerMode = /* @__PURE__ */ ((ServerMode2) => {\n ServerMode2[\"Development\"] = \"development\";\n ServerMode2[\"Production\"] = \"production\";\n ServerMode2[\"Test\"] = \"test\";\n return ServerMode2;\n})(ServerMode || {});\nfunction isServerMode(value) {\n return value === \"development\" /* Development */ || value === \"production\" /* Production */ || value === \"test\" /* Test */;\n}\n\n// lib/server-runtime/errors.ts\nfunction sanitizeError(error, serverMode) {\n if (error instanceof Error && serverMode !== \"development\" /* Development */) {\n let sanitized = new Error(\"Unexpected Server Error\");\n sanitized.stack = void 0;\n return sanitized;\n }\n return error;\n}\nfunction sanitizeErrors(errors, serverMode) {\n return Object.entries(errors).reduce((acc, [routeId, error]) => {\n return Object.assign(acc, { [routeId]: sanitizeError(error, serverMode) });\n }, {});\n}\nfunction serializeError(error, serverMode) {\n let sanitized = sanitizeError(error, serverMode);\n return {\n message: sanitized.message,\n stack: sanitized.stack\n };\n}\nfunction serializeErrors2(errors, serverMode) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (isRouteErrorResponse(val)) {\n serialized[key] = { ...val, __type: \"RouteErrorResponse\" };\n } else if (val instanceof Error) {\n let sanitized = sanitizeError(val, serverMode);\n serialized[key] = {\n message: sanitized.message,\n stack: sanitized.stack,\n __type: \"Error\",\n // If this is a subclass (i.e., ReferenceError), send up the type so we\n // can re-create the same type during hydration. This will only apply\n // in dev mode since all production errors are sanitized to normal\n // Error instances\n ...sanitized.name !== \"Error\" ? {\n __subType: sanitized.name\n } : {}\n };\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\n// lib/server-runtime/routeMatching.ts\nfunction matchServerRoutes(routes, pathname, basename) {\n let matches = matchRoutes(\n routes,\n pathname,\n basename\n );\n if (!matches) return null;\n return matches.map((match) => ({\n params: match.params,\n pathname: match.pathname,\n route: match.route\n }));\n}\n\n// lib/server-runtime/data.ts\nasync function callRouteHandler(handler, args) {\n let result = await handler({\n request: stripRoutesParam(stripIndexParam2(args.request)),\n params: args.params,\n context: args.context\n });\n if (isDataWithResponseInit(result) && result.init && result.init.status && isRedirectStatusCode(result.init.status)) {\n throw new Response(null, result.init);\n }\n return result;\n}\nfunction stripIndexParam2(request) {\n let url = new URL(request.url);\n let indexValues = url.searchParams.getAll(\"index\");\n url.searchParams.delete(\"index\");\n let indexValuesToKeep = [];\n for (let indexValue of indexValues) {\n if (indexValue) {\n indexValuesToKeep.push(indexValue);\n }\n }\n for (let toKeep of indexValuesToKeep) {\n url.searchParams.append(\"index\", toKeep);\n }\n let init = {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal\n };\n if (init.body) {\n init.duplex = \"half\";\n }\n return new Request(url.href, init);\n}\nfunction stripRoutesParam(request) {\n let url = new URL(request.url);\n url.searchParams.delete(\"_routes\");\n let init = {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal\n };\n if (init.body) {\n init.duplex = \"half\";\n }\n return new Request(url.href, init);\n}\n\n// lib/server-runtime/invariant.ts\nfunction invariant3(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n console.error(\n \"The following error is a bug in React Router; please open an issue! https://github.com/remix-run/react-router/issues/new/choose\"\n );\n throw new Error(message);\n }\n}\n\n// lib/server-runtime/routes.ts\nfunction groupRoutesByParentId2(manifest) {\n let routes = {};\n Object.values(manifest).forEach((route) => {\n if (route) {\n let parentId = route.parentId || \"\";\n if (!routes[parentId]) {\n routes[parentId] = [];\n }\n routes[parentId].push(route);\n }\n });\n return routes;\n}\nfunction createRoutes(manifest, parentId = \"\", routesByParentId = groupRoutesByParentId2(manifest)) {\n return (routesByParentId[parentId] || []).map((route) => ({\n ...route,\n children: createRoutes(manifest, route.id, routesByParentId)\n }));\n}\nfunction createStaticHandlerDataRoutes(manifest, future, parentId = \"\", routesByParentId = groupRoutesByParentId2(manifest)) {\n return (routesByParentId[parentId] || []).map((route) => {\n let commonRoute = {\n // Always include root due to default boundaries\n hasErrorBoundary: route.id === \"root\" || route.module.ErrorBoundary != null,\n id: route.id,\n path: route.path,\n // Need to use RR's version in the param typed here to permit the optional\n // context even though we know it'll always be provided in remix\n loader: route.module.loader ? async (args) => {\n if (args.request.headers.has(\"X-React-Router-Prerender-Data\")) {\n const preRenderedData = args.request.headers.get(\n \"X-React-Router-Prerender-Data\"\n );\n let encoded = preRenderedData ? decodeURI(preRenderedData) : preRenderedData;\n invariant3(encoded, \"Missing prerendered data for route\");\n let uint8array = new TextEncoder().encode(encoded);\n let stream = new ReadableStream({\n start(controller) {\n controller.enqueue(uint8array);\n controller.close();\n }\n });\n let decoded = await decodeViaTurboStream(stream, global);\n let data2 = decoded.value;\n invariant3(\n data2 && route.id in data2,\n \"Unable to decode prerendered data\"\n );\n let result = data2[route.id];\n invariant3(\"data\" in result, \"Unable to process prerendered data\");\n return result.data;\n }\n let val = await callRouteHandler(route.module.loader, args);\n return val;\n } : void 0,\n action: route.module.action ? (args) => callRouteHandler(route.module.action, args) : void 0,\n handle: route.module.handle\n };\n return route.index ? {\n index: true,\n ...commonRoute\n } : {\n caseSensitive: route.caseSensitive,\n children: createStaticHandlerDataRoutes(\n manifest,\n future,\n route.id,\n routesByParentId\n ),\n ...commonRoute\n };\n });\n}\n\n// lib/server-runtime/markup.ts\nvar ESCAPE_LOOKUP3 = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nvar ESCAPE_REGEX3 = /[&><\\u2028\\u2029]/g;\nfunction escapeHtml2(html) {\n return html.replace(ESCAPE_REGEX3, (match) => ESCAPE_LOOKUP3[match]);\n}\n\n// lib/server-runtime/serverHandoff.ts\nfunction createServerHandoffString(serverHandoff) {\n return escapeHtml2(JSON.stringify(serverHandoff));\n}\n\n// lib/server-runtime/dev.ts\nvar globalDevServerHooksKey = \"__reactRouterDevServerHooks\";\nfunction setDevServerHooks(devServerHooks) {\n globalThis[globalDevServerHooksKey] = devServerHooks;\n}\nfunction getDevServerHooks() {\n return globalThis[globalDevServerHooksKey];\n}\n\n// lib/server-runtime/single-fetch.ts\nimport { encode } from \"turbo-stream\";\n\n// lib/server-runtime/headers.ts\nimport { splitCookiesString } from \"set-cookie-parser\";\nfunction getDocumentHeaders(build, context) {\n let boundaryIdx = context.errors ? context.matches.findIndex((m) => context.errors[m.route.id]) : -1;\n let matches = boundaryIdx >= 0 ? context.matches.slice(0, boundaryIdx + 1) : context.matches;\n let errorHeaders;\n if (boundaryIdx >= 0) {\n let { actionHeaders, actionData, loaderHeaders, loaderData } = context;\n context.matches.slice(boundaryIdx).some((match) => {\n let id = match.route.id;\n if (actionHeaders[id] && (!actionData || !actionData.hasOwnProperty(id))) {\n errorHeaders = actionHeaders[id];\n } else if (loaderHeaders[id] && !loaderData.hasOwnProperty(id)) {\n errorHeaders = loaderHeaders[id];\n }\n return errorHeaders != null;\n });\n }\n return matches.reduce((parentHeaders, match, idx) => {\n let { id } = match.route;\n let route = build.routes[id];\n invariant3(route, `Route with id \"${id}\" not found in build`);\n let routeModule = route.module;\n let loaderHeaders = context.loaderHeaders[id] || new Headers();\n let actionHeaders = context.actionHeaders[id] || new Headers();\n let includeErrorHeaders = errorHeaders != null && idx === matches.length - 1;\n let includeErrorCookies = includeErrorHeaders && errorHeaders !== loaderHeaders && errorHeaders !== actionHeaders;\n if (routeModule.headers == null) {\n let headers2 = new Headers(parentHeaders);\n if (includeErrorCookies) {\n prependCookies(errorHeaders, headers2);\n }\n prependCookies(actionHeaders, headers2);\n prependCookies(loaderHeaders, headers2);\n return headers2;\n }\n let headers = new Headers(\n routeModule.headers ? typeof routeModule.headers === \"function\" ? routeModule.headers({\n loaderHeaders,\n parentHeaders,\n actionHeaders,\n errorHeaders: includeErrorHeaders ? errorHeaders : void 0\n }) : routeModule.headers : void 0\n );\n if (includeErrorCookies) {\n prependCookies(errorHeaders, headers);\n }\n prependCookies(actionHeaders, headers);\n prependCookies(loaderHeaders, headers);\n prependCookies(parentHeaders, headers);\n return headers;\n }, new Headers());\n}\nfunction prependCookies(parentHeaders, childHeaders) {\n let parentSetCookieString = parentHeaders.get(\"Set-Cookie\");\n if (parentSetCookieString) {\n let cookies = splitCookiesString(parentSetCookieString);\n cookies.forEach((cookie) => {\n childHeaders.append(\"Set-Cookie\", cookie);\n });\n }\n}\n\n// lib/server-runtime/single-fetch.ts\nvar SINGLE_FETCH_REDIRECT_STATUS = 202;\nfunction getSingleFetchDataStrategy2({\n isActionDataRequest,\n loadRouteIds\n} = {}) {\n return async ({ request, matches }) => {\n if (isActionDataRequest && request.method === \"GET\") {\n return {};\n }\n let matchesToLoad = loadRouteIds ? matches.filter((m) => loadRouteIds.includes(m.route.id)) : matches;\n let results = await Promise.all(\n matchesToLoad.map((match) => match.resolve())\n );\n return results.reduce(\n (acc, result, i) => Object.assign(acc, { [matchesToLoad[i].route.id]: result }),\n {}\n );\n };\n}\nasync function singleFetchAction(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {\n try {\n let handlerRequest = new Request(handlerUrl, {\n method: request.method,\n body: request.body,\n headers: request.headers,\n signal: request.signal,\n ...request.body ? { duplex: \"half\" } : void 0\n });\n let result = await staticHandler.query(handlerRequest, {\n requestContext: loadContext,\n skipLoaderErrorBubbling: true,\n dataStrategy: getSingleFetchDataStrategy2({\n isActionDataRequest: true\n })\n });\n if (isResponse(result)) {\n return {\n result: getSingleFetchRedirect(\n result.status,\n result.headers,\n build.basename\n ),\n headers: result.headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n let context = result;\n let headers = getDocumentHeaders(build, context);\n if (isRedirectStatusCode(context.statusCode) && headers.has(\"Location\")) {\n return {\n result: getSingleFetchRedirect(\n context.statusCode,\n headers,\n build.basename\n ),\n headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let singleFetchResult;\n if (context.errors) {\n singleFetchResult = { error: Object.values(context.errors)[0] };\n } else {\n singleFetchResult = { data: Object.values(context.actionData || {})[0] };\n }\n return {\n result: singleFetchResult,\n headers,\n status: context.statusCode\n };\n } catch (error) {\n handleError(error);\n return {\n result: { error },\n headers: new Headers(),\n status: 500\n };\n }\n}\nasync function singleFetchLoaders(build, serverMode, staticHandler, request, handlerUrl, loadContext, handleError) {\n try {\n let handlerRequest = new Request(handlerUrl, {\n headers: request.headers,\n signal: request.signal\n });\n let loadRouteIds = new URL(request.url).searchParams.get(\"_routes\")?.split(\",\") || void 0;\n let result = await staticHandler.query(handlerRequest, {\n requestContext: loadContext,\n skipLoaderErrorBubbling: true,\n dataStrategy: getSingleFetchDataStrategy2({\n loadRouteIds\n })\n });\n if (isResponse(result)) {\n return {\n result: {\n [SingleFetchRedirectSymbol]: getSingleFetchRedirect(\n result.status,\n result.headers,\n build.basename\n )\n },\n headers: result.headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n let context = result;\n let headers = getDocumentHeaders(build, context);\n if (isRedirectStatusCode(context.statusCode) && headers.has(\"Location\")) {\n return {\n result: {\n [SingleFetchRedirectSymbol]: getSingleFetchRedirect(\n context.statusCode,\n headers,\n build.basename\n )\n },\n headers,\n status: SINGLE_FETCH_REDIRECT_STATUS\n };\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let results = {};\n let loadedMatches = loadRouteIds ? context.matches.filter(\n (m) => m.route.loader && loadRouteIds.includes(m.route.id)\n ) : context.matches;\n loadedMatches.forEach((m) => {\n let { id } = m.route;\n if (context.errors && context.errors.hasOwnProperty(id)) {\n results[id] = { error: context.errors[id] };\n } else if (context.loaderData.hasOwnProperty(id)) {\n results[id] = { data: context.loaderData[id] };\n }\n });\n return {\n result: results,\n headers,\n status: context.statusCode\n };\n } catch (error) {\n handleError(error);\n return {\n result: { root: { error } },\n headers: new Headers(),\n status: 500\n };\n }\n}\nfunction getSingleFetchRedirect(status, headers, basename) {\n let redirect2 = headers.get(\"Location\");\n if (basename) {\n redirect2 = stripBasename(redirect2, basename) || redirect2;\n }\n return {\n redirect: redirect2,\n status,\n revalidate: (\n // Technically X-Remix-Revalidate isn't needed here - that was an implementation\n // detail of ?_data requests as our way to tell the front end to revalidate when\n // we didn't have a response body to include that information in.\n // With single fetch, we tell the front end via this revalidate boolean field.\n // However, we're respecting it for now because it may be something folks have\n // used in their own responses\n // TODO(v3): Consider removing or making this official public API\n headers.has(\"X-Remix-Revalidate\") || headers.has(\"Set-Cookie\")\n ),\n reload: headers.has(\"X-Remix-Reload-Document\"),\n replace: headers.has(\"X-Remix-Replace\")\n };\n}\nfunction encodeViaTurboStream(data2, requestSignal, streamTimeout, serverMode) {\n let controller = new AbortController();\n let timeoutId = setTimeout(\n () => controller.abort(new Error(\"Server Timeout\")),\n typeof streamTimeout === \"number\" ? streamTimeout : 4950\n );\n requestSignal.addEventListener(\"abort\", () => clearTimeout(timeoutId));\n return encode(data2, {\n signal: controller.signal,\n plugins: [\n (value) => {\n if (value instanceof Error) {\n let { name, message, stack } = serverMode === \"production\" /* Production */ ? sanitizeError(value, serverMode) : value;\n return [\"SanitizedError\", name, message, stack];\n }\n if (value instanceof ErrorResponseImpl) {\n let { data: data3, status, statusText } = value;\n return [\"ErrorResponse\", data3, status, statusText];\n }\n if (value && typeof value === \"object\" && SingleFetchRedirectSymbol in value) {\n return [\"SingleFetchRedirect\", value[SingleFetchRedirectSymbol]];\n }\n }\n ],\n postPlugins: [\n (value) => {\n if (!value) return;\n if (typeof value !== \"object\") return;\n return [\n \"SingleFetchClassInstance\",\n Object.fromEntries(Object.entries(value))\n ];\n },\n () => [\"SingleFetchFallback\"]\n ]\n });\n}\n\n// lib/server-runtime/server.ts\nfunction derive(build, mode) {\n let routes = createRoutes(build.routes);\n let dataRoutes = createStaticHandlerDataRoutes(build.routes, build.future);\n let serverMode = isServerMode(mode) ? mode : \"production\" /* Production */;\n let staticHandler = createStaticHandler(dataRoutes, {\n basename: build.basename\n });\n let errorHandler = build.entry.module.handleError || ((error, { request }) => {\n if (serverMode !== \"test\" /* Test */ && !request.signal.aborted) {\n console.error(\n // @ts-expect-error This is \"private\" from users but intended for internal use\n isRouteErrorResponse(error) && error.error ? error.error : error\n );\n }\n });\n return {\n routes,\n dataRoutes,\n serverMode,\n staticHandler,\n errorHandler\n };\n}\nvar createRequestHandler = (build, mode) => {\n let _build;\n let routes;\n let serverMode;\n let staticHandler;\n let errorHandler;\n return async function requestHandler(request, loadContext = {}) {\n _build = typeof build === \"function\" ? await build() : build;\n if (typeof build === \"function\") {\n let derived = derive(_build, mode);\n routes = derived.routes;\n serverMode = derived.serverMode;\n staticHandler = derived.staticHandler;\n errorHandler = derived.errorHandler;\n } else if (!routes || !serverMode || !staticHandler || !errorHandler) {\n let derived = derive(_build, mode);\n routes = derived.routes;\n serverMode = derived.serverMode;\n staticHandler = derived.staticHandler;\n errorHandler = derived.errorHandler;\n }\n let url = new URL(request.url);\n let params = {};\n let handleError = (error) => {\n if (mode === \"development\" /* Development */) {\n getDevServerHooks()?.processRequestError?.(error);\n }\n errorHandler(error, {\n context: loadContext,\n params,\n request\n });\n };\n let manifestUrl = `${_build.basename ?? \"/\"}/__manifest`.replace(\n /\\/+/g,\n \"/\"\n );\n if (url.pathname === manifestUrl) {\n try {\n let res = await handleManifestRequest(_build, routes, url);\n return res;\n } catch (e) {\n handleError(e);\n return new Response(\"Unknown Server Error\", { status: 500 });\n }\n }\n let matches = matchServerRoutes(routes, url.pathname, _build.basename);\n if (matches && matches.length > 0) {\n Object.assign(params, matches[0].params);\n }\n let response;\n if (url.pathname.endsWith(\".data\")) {\n let handlerUrl = new URL(request.url);\n handlerUrl.pathname = handlerUrl.pathname.replace(/\\.data$/, \"\").replace(/^\\/_root$/, \"/\");\n let singleFetchMatches = matchServerRoutes(\n routes,\n handlerUrl.pathname,\n _build.basename\n );\n response = await handleSingleFetchRequest(\n serverMode,\n _build,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n );\n if (_build.entry.module.handleDataRequest) {\n response = await _build.entry.module.handleDataRequest(response, {\n context: loadContext,\n params: singleFetchMatches ? singleFetchMatches[0].params : {},\n request\n });\n if (isRedirectResponse(response)) {\n let result = getSingleFetchRedirect(\n response.status,\n response.headers,\n _build.basename\n );\n if (request.method === \"GET\") {\n result = {\n [SingleFetchRedirectSymbol]: result\n };\n }\n let headers = new Headers(response.headers);\n headers.set(\"Content-Type\", \"text/x-script\");\n return new Response(\n encodeViaTurboStream(\n result,\n request.signal,\n _build.entry.module.streamTimeout,\n serverMode\n ),\n {\n status: SINGLE_FETCH_REDIRECT_STATUS,\n headers\n }\n );\n }\n }\n } else if (matches && matches[matches.length - 1].route.module.default == null && matches[matches.length - 1].route.module.ErrorBoundary == null) {\n response = await handleResourceRequest(\n serverMode,\n staticHandler,\n matches.slice(-1)[0].route.id,\n request,\n loadContext,\n handleError\n );\n } else {\n let criticalCss = mode === \"development\" /* Development */ ? await getDevServerHooks()?.getCriticalCss?.(_build, url.pathname) : void 0;\n response = await handleDocumentRequest(\n serverMode,\n _build,\n staticHandler,\n request,\n loadContext,\n handleError,\n criticalCss\n );\n }\n if (request.method === \"HEAD\") {\n return new Response(null, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText\n });\n }\n return response;\n };\n};\nasync function handleManifestRequest(build, routes, url) {\n let patches = {};\n if (url.searchParams.has(\"p\")) {\n for (let path of url.searchParams.getAll(\"p\")) {\n let matches = matchServerRoutes(routes, path, build.basename);\n if (matches) {\n for (let match of matches) {\n let routeId = match.route.id;\n let route = build.assets.routes[routeId];\n if (route) {\n patches[routeId] = route;\n }\n }\n }\n }\n return Response.json(patches, {\n headers: {\n \"Cache-Control\": \"public, max-age=31536000, immutable\"\n }\n });\n }\n return new Response(\"Invalid Request\", { status: 400 });\n}\nasync function handleSingleFetchRequest(serverMode, build, staticHandler, request, handlerUrl, loadContext, handleError) {\n let { result, headers, status } = request.method !== \"GET\" ? await singleFetchAction(\n build,\n serverMode,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n ) : await singleFetchLoaders(\n build,\n serverMode,\n staticHandler,\n request,\n handlerUrl,\n loadContext,\n handleError\n );\n let resultHeaders = new Headers(headers);\n resultHeaders.set(\"X-Remix-Response\", \"yes\");\n if (status === 304) {\n return new Response(null, { status: 304, headers: resultHeaders });\n }\n resultHeaders.set(\"Content-Type\", \"text/x-script\");\n return new Response(\n encodeViaTurboStream(\n result,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n {\n status: status || 200,\n headers: resultHeaders\n }\n );\n}\nasync function handleDocumentRequest(serverMode, build, staticHandler, request, loadContext, handleError, criticalCss) {\n let context;\n try {\n context = await staticHandler.query(request, {\n requestContext: loadContext\n });\n } catch (error) {\n handleError(error);\n return new Response(null, { status: 500 });\n }\n if (isResponse(context)) {\n return context;\n }\n let headers = getDocumentHeaders(build, context);\n if (context.statusCode === 304) {\n return new Response(null, { status: 304, headers });\n }\n if (context.errors) {\n Object.values(context.errors).forEach((err) => {\n if (!isRouteErrorResponse(err) || err.error) {\n handleError(err);\n }\n });\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let state = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors2(context.errors, serverMode)\n };\n let entryContext = {\n manifest: build.assets,\n routeModules: createEntryRouteModules(build.routes),\n staticHandlerContext: context,\n criticalCss,\n serverHandoffString: createServerHandoffString({\n basename: build.basename,\n criticalCss,\n future: build.future,\n isSpaMode: build.isSpaMode\n }),\n serverHandoffStream: encodeViaTurboStream(\n state,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n renderMeta: {},\n future: build.future,\n isSpaMode: build.isSpaMode,\n serializeError: (err) => serializeError(err, serverMode)\n };\n let handleDocumentRequestFunction = build.entry.module.default;\n try {\n return await handleDocumentRequestFunction(\n request,\n context.statusCode,\n headers,\n entryContext,\n loadContext\n );\n } catch (error) {\n handleError(error);\n let errorForSecondRender = error;\n if (isResponse(error)) {\n try {\n let data2 = await unwrapResponse(error);\n errorForSecondRender = new ErrorResponseImpl(\n error.status,\n error.statusText,\n data2\n );\n } catch (e) {\n }\n }\n context = getStaticContextFromError(\n staticHandler.dataRoutes,\n context,\n errorForSecondRender\n );\n if (context.errors) {\n context.errors = sanitizeErrors(context.errors, serverMode);\n }\n let state2 = {\n loaderData: context.loaderData,\n actionData: context.actionData,\n errors: serializeErrors2(context.errors, serverMode)\n };\n entryContext = {\n ...entryContext,\n staticHandlerContext: context,\n serverHandoffString: createServerHandoffString({\n basename: build.basename,\n future: build.future,\n isSpaMode: build.isSpaMode\n }),\n serverHandoffStream: encodeViaTurboStream(\n state2,\n request.signal,\n build.entry.module.streamTimeout,\n serverMode\n ),\n renderMeta: {}\n };\n try {\n return await handleDocumentRequestFunction(\n request,\n context.statusCode,\n headers,\n entryContext,\n loadContext\n );\n } catch (error2) {\n handleError(error2);\n return returnLastResortErrorResponse(error2, serverMode);\n }\n }\n}\nasync function handleResourceRequest(serverMode, staticHandler, routeId, request, loadContext, handleError) {\n try {\n let response = await staticHandler.queryRoute(request, {\n routeId,\n requestContext: loadContext\n });\n invariant3(\n isResponse(response),\n \"Expected a Response to be returned from resource route handler\"\n );\n return response;\n } catch (error) {\n if (isResponse(error)) {\n error.headers.set(\"X-Remix-Catch\", \"yes\");\n return error;\n }\n if (isRouteErrorResponse(error)) {\n if (error) {\n handleError(error);\n }\n return errorResponseToJson(error, serverMode);\n }\n handleError(error);\n return returnLastResortErrorResponse(error, serverMode);\n }\n}\nfunction errorResponseToJson(errorResponse, serverMode) {\n return Response.json(\n serializeError(\n // @ts-expect-error This is \"private\" from users but intended for internal use\n errorResponse.error || new Error(\"Unexpected Server Error\"),\n serverMode\n ),\n {\n status: errorResponse.status,\n statusText: errorResponse.statusText,\n headers: {\n \"X-Remix-Error\": \"yes\"\n }\n }\n );\n}\nfunction returnLastResortErrorResponse(error, serverMode) {\n let message = \"Unexpected Server Error\";\n if (serverMode !== \"production\" /* Production */) {\n message += `\n\n${String(error)}`;\n }\n return new Response(message, {\n status: 500,\n headers: {\n \"Content-Type\": \"text/plain\"\n }\n });\n}\nfunction unwrapResponse(response) {\n let contentType = response.headers.get(\"Content-Type\");\n return contentType && /\\bapplication\\/json\\b/.test(contentType) ? response.body == null ? null : response.json() : response.text();\n}\n\n// lib/server-runtime/sessions.ts\nfunction flash(name) {\n return `__flash_${name}__`;\n}\nvar createSession = (initialData = {}, id = \"\") => {\n let map = new Map(Object.entries(initialData));\n return {\n get id() {\n return id;\n },\n get data() {\n return Object.fromEntries(map);\n },\n has(name) {\n return map.has(name) || map.has(flash(name));\n },\n get(name) {\n if (map.has(name)) return map.get(name);\n let flashName = flash(name);\n if (map.has(flashName)) {\n let value = map.get(flashName);\n map.delete(flashName);\n return value;\n }\n return void 0;\n },\n set(name, value) {\n map.set(name, value);\n },\n flash(name, value) {\n map.set(flash(name), value);\n },\n unset(name) {\n map.delete(name);\n }\n };\n};\nvar isSession = (object) => {\n return object != null && typeof object.id === \"string\" && typeof object.data !== \"undefined\" && typeof object.has === \"function\" && typeof object.get === \"function\" && typeof object.set === \"function\" && typeof object.flash === \"function\" && typeof object.unset === \"function\";\n};\nfunction createSessionStorage({\n cookie: cookieArg,\n createData,\n readData,\n updateData,\n deleteData\n}) {\n let cookie = isCookie(cookieArg) ? cookieArg : createCookie(cookieArg?.name || \"__session\", cookieArg);\n warnOnceAboutSigningSessionCookie(cookie);\n return {\n async getSession(cookieHeader, options) {\n let id = cookieHeader && await cookie.parse(cookieHeader, options);\n let data2 = id && await readData(id);\n return createSession(data2 || {}, id || \"\");\n },\n async commitSession(session, options) {\n let { id, data: data2 } = session;\n let expires = options?.maxAge != null ? new Date(Date.now() + options.maxAge * 1e3) : options?.expires != null ? options.expires : cookie.expires;\n if (id) {\n await updateData(id, data2, expires);\n } else {\n id = await createData(data2, expires);\n }\n return cookie.serialize(id, options);\n },\n async destroySession(session, options) {\n await deleteData(session.id);\n return cookie.serialize(\"\", {\n ...options,\n maxAge: void 0,\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n };\n}\nfunction warnOnceAboutSigningSessionCookie(cookie) {\n warnOnce(\n cookie.isSigned,\n `The \"${cookie.name}\" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://remix.run/utils/cookies#signing-cookies for more information.`\n );\n}\n\n// lib/server-runtime/sessions/cookieStorage.ts\nfunction createCookieSessionStorage({ cookie: cookieArg } = {}) {\n let cookie = isCookie(cookieArg) ? cookieArg : createCookie(cookieArg?.name || \"__session\", cookieArg);\n warnOnceAboutSigningSessionCookie(cookie);\n return {\n async getSession(cookieHeader, options) {\n return createSession(\n cookieHeader && await cookie.parse(cookieHeader, options) || {}\n );\n },\n async commitSession(session, options) {\n let serializedCookie = await cookie.serialize(session.data, options);\n if (serializedCookie.length > 4096) {\n throw new Error(\n \"Cookie length will exceed browser maximum. Length: \" + serializedCookie.length\n );\n }\n return serializedCookie;\n },\n async destroySession(_session, options) {\n return cookie.serialize(\"\", {\n ...options,\n maxAge: void 0,\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n };\n}\n\n// lib/server-runtime/sessions/memoryStorage.ts\nfunction createMemorySessionStorage({ cookie } = {}) {\n let map = /* @__PURE__ */ new Map();\n return createSessionStorage({\n cookie,\n async createData(data2, expires) {\n let id = Math.random().toString(36).substring(2, 10);\n map.set(id, { data: data2, expires });\n return id;\n },\n async readData(id) {\n if (map.has(id)) {\n let { data: data2, expires } = map.get(id);\n if (!expires || expires > /* @__PURE__ */ new Date()) {\n return data2;\n }\n if (expires) map.delete(id);\n }\n return null;\n },\n async updateData(id, data2, expires) {\n map.set(id, { data: data2, expires });\n },\n async deleteData(id) {\n map.delete(id);\n }\n });\n}\n\n// lib/dom/ssr/errors.ts\nfunction deserializeErrors2(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponseImpl(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n let error = new ErrorConstructor(val.message);\n error.stack = val.stack;\n serialized[key] = error;\n } catch (e) {\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n error.stack = val.stack;\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\nexport {\n Action,\n createBrowserHistory,\n invariant,\n createPath,\n parsePath,\n matchRoutes,\n generatePath,\n matchPath,\n resolvePath,\n data,\n redirect,\n redirectDocument,\n replace,\n ErrorResponseImpl,\n isRouteErrorResponse,\n IDLE_NAVIGATION,\n IDLE_FETCHER,\n IDLE_BLOCKER,\n createRouter,\n DataRouterContext,\n DataRouterStateContext,\n ViewTransitionContext,\n FetchersContext,\n NavigationContext,\n LocationContext,\n RouteContext,\n useHref,\n useInRouterContext,\n useLocation,\n useNavigationType,\n useMatch,\n useNavigate,\n useOutletContext,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useNavigation,\n useRevalidator,\n useMatches,\n useLoaderData,\n useRouteLoaderData,\n useActionData,\n useRouteError,\n useAsyncValue,\n useAsyncError,\n useBlocker,\n mapRouteProperties,\n createMemoryRouter,\n RouterProvider,\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n Await,\n createRoutesFromChildren,\n createRoutesFromElements,\n renderMatches,\n createSearchParams,\n SingleFetchRedirectSymbol,\n getSingleFetchDataStrategy,\n decodeViaTurboStream,\n RemixErrorBoundary,\n createClientRoutesWithHMRRevalidationOptOut,\n createClientRoutes,\n shouldHydrateRouteLoader,\n getPatchRoutesOnNavigationFunction,\n useFogOFWarDiscovery,\n FrameworkContext,\n Links,\n PrefetchPageLinks,\n Meta,\n Scripts,\n createBrowserRouter,\n createHashRouter,\n BrowserRouter,\n HashRouter,\n HistoryRouter,\n Link,\n NavLink,\n Form,\n ScrollRestoration,\n useLinkClickHandler,\n useSearchParams,\n useSubmit,\n useFormAction,\n useFetcher,\n useFetchers,\n useScrollRestoration,\n useBeforeUnload,\n usePrompt,\n useViewTransitionState,\n StaticRouter,\n StaticRouterProvider,\n createStaticHandler2 as createStaticHandler,\n createStaticRouter,\n ServerRouter,\n createRoutesStub,\n createCookie,\n isCookie,\n ServerMode,\n setDevServerHooks,\n createRequestHandler,\n createSession,\n isSession,\n createSessionStorage,\n createCookieSessionStorage,\n createMemorySessionStorage,\n deserializeErrors2 as deserializeErrors\n};\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","jsxRuntimeModule","require$$0","REACT_PORTAL_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","noop","ReactSharedInternals","hasOwnProperty","ReactElement","refProp","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","invokeCallback","c","nextNamePrefix","i","mapChildren","func","result","count","child","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","Children","forEachFunc","forEachContext","n","react_production","size","fn","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","value","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","reactModule","push","heap","node","a","parentIndex","parent","peek","pop","first","last","length","halfLength","leftIndex","left","rightIndex","right","b","diff","exports","localPerformance","localDate","initialTime","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","needsPaint","localSetTimeout","localClearTimeout","localSetImmediate","advanceTimers","currentTime","timer","handleTimeout","isMessageLoopRunning","schedulePerformWorkUntilDeadline","firstTimer","requestHostTimeout","taskTimeoutID","frameInterval","startTime","shouldYieldToHost","performWorkUntilDeadline","hasMoreWork","previousPriorityLevel","continuationCallback","channel","port","ms","task","fps","eventHandler","priorityLevel","options","timeout","parentPriorityLevel","schedulerModule","React","formatProdErrorMessage","code","url","Internals","createPortal$1","containerInfo","implementation","getCrossOriginStringAs","as","input","reactDom_production","container","previousTransition","previousUpdatePriority","href","crossOrigin","integrity","fetchPriority","form","checkDCE","err","reactDomModule","Scheduler","require$$1","ReactDOM","require$$2","isValidContainer","getNearestMountedFiber","fiber","nearestMounted","getSuspenseInstanceFromFiber","suspenseState","getActivityInstanceFromFiber","activityState","assertIsMounted","findCurrentFiberUsingSlowPath","alternate","parentA","parentB","didFindChild","child$0","findCurrentHostFiberImpl","tag","REACT_LEGACY_ELEMENT_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_CACHE_SENTINEL","REACT_CLIENT_REFERENCE","getComponentNameFromType","innerType","ReactDOMSharedInternals","sharedNotPendingObject","valueStack","createCursor","cursor","contextStackCursor","contextFiberStackCursor","rootInstanceStackCursor","hostTransitionProviderCursor","pushHostContainer","nextRootInstance","getOwnHostContext","getChildHostContextProd","popHostContainer","pushHostContext","JSCompiler_inline_result","popHostContext","HostTransitionContext","prefix","suffix","describeBuiltInComponentFrame","name","x","reentry","describeNativeComponentFrame","construct","previousPrepareStackTrace","RunInRootFrame","Fake","control","x$1","x$2","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","frame","describeFiber","childFiber","getStackByFiberInDevAndProd","workInProgress","info","previous","scheduleCallback$3","cancelCallback$1","shouldYield","requestPaint","now","getCurrentPriorityLevel","ImmediatePriority","UserBlockingPriority","NormalPriority$1","LowPriority","IdlePriority","log$1","unstable_setDisableYieldValue","rendererID","injectedHook","setIsStrictModeForDevtools","newIsStrictMode","clz32","clz32Fallback","log","LN2","nextTransitionUpdateLane","nextTransitionDeferredLane","nextRetryLane","getHighestPriorityLanes","lanes","pendingSyncLanes","getNextLanes","root","wipLanes","rootHasPendingCommit","pendingLanes","nextLanes","suspendedLanes","pingedLanes","nonIdlePendingLanes","checkIfRootIsPrerendering","renderLanes","computeExpirationTime","lane","claimNextRetryLane","createLaneMap","initial","laneMap","markRootUpdated$1","updateLane","markRootFinished","finishedLanes","remainingLanes","spawnedLane","updatedLanes","suspendedRetryLanes","previouslyPendingLanes","entanglements","expirationTimes","hiddenUpdates","index$7","hiddenUpdatesForLane","update","markSpawnedDeferredLane","entangledLanes","spawnedLaneIndex","markRootEntangled","rootEntangledLanes","index$8","getBumpedLaneForHydration","renderLane","getBumpedLaneForHydrationByLane","lanesToEventPriority","resolveUpdatePriority","updatePriority","getEventPriority","runWithPriority","priority","previousPriority","randomKey","internalInstanceKey","internalPropsKey","internalContainerInstanceKey","internalEventHandlersKey","internalEventHandlerListenersKey","internalEventHandlesSetKey","internalRootNodeResourcesKey","internalHoistableMarker","detachDeletedInstance","getClosestInstanceFromNode","targetNode","targetInst","parentNode","getParentHydrationBoundary","getInstanceFromNode","getNodeFromInstance","inst","getResourcesFromRoot","resources","markNodeAsHoistable","allNativeEvents","registrationNameDependencies","registerTwoPhaseEvent","registrationName","dependencies","registerDirectEvent","VALID_ATTRIBUTE_NAME_REGEX","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","attributeName","setValueForAttribute","prefix$10","setValueForKnownAttribute","setValueForNamespacedAttribute","namespace","getToStringValue","isCheckable","elem","trackValueOnNode","valueField","currentValue","descriptor","get","set","track","updateValueIfChanged","tracker","lastValue","getActiveElement","doc","escapeSelectorAttributeValueInsideDoubleQuotesRegex","escapeSelectorAttributeValueInsideDoubleQuotes","ch","updateInput","lastDefaultValue","checked","defaultChecked","setDefaultValue","initInput","isHydrating","updateOptions","multiple","propValue","setDefaultSelected","updateTextarea","initTextarea","setTextContent","text","firstChild","unitlessNumbers","setValueForStyle","style","styleName","isCustomProperty","setValueForStyles","styles","prevStyles","styleName$16","styleName$17","isCustomElement","tagName","aliases","isJavaScriptProtocol","sanitizeURL","noop$1","currentReplayingEvent","getEventTarget","nativeEvent","restoreTarget","restoreQueue","restoreStateOfTarget","target","internalInstance","otherNode","otherProps","isInsideEventHandler","batchedUpdates$1","flushSyncWork$1","getListener","stateNode","canUseDOM","passiveBrowserEventsSupported","startText","fallbackText","getData","start","startValue","startLength","end","endValue","endLength","minEnd","getEventCharCode","keyCode","functionThatReturnsTrue","functionThatReturnsFalse","createSyntheticEvent","Interface","SyntheticBaseEvent","reactName","reactEventType","nativeEventTarget","EventInterface","SyntheticEvent","UIEventInterface","SyntheticUIEvent","lastMovementX","lastMovementY","lastMouseEvent","MouseEventInterface","getEventModifierState","SyntheticMouseEvent","DragEventInterface","SyntheticDragEvent","FocusEventInterface","SyntheticFocusEvent","AnimationEventInterface","SyntheticAnimationEvent","ClipboardEventInterface","SyntheticClipboardEvent","CompositionEventInterface","SyntheticCompositionEvent","normalizeKey","translateToKey","modifierKeyToProp","modifierStateGetter","keyArg","KeyboardEventInterface","SyntheticKeyboardEvent","PointerEventInterface","SyntheticPointerEvent","TouchEventInterface","SyntheticTouchEvent","TransitionEventInterface","SyntheticTransitionEvent","WheelEventInterface","SyntheticWheelEvent","ToggleEventInterface","SyntheticToggleEvent","END_KEYCODES","canUseCompositionEvent","documentMode","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","hasSpaceKeypress","isFallbackCompositionEnd","domEventName","getDataFromCustomEvent","isComposing","getNativeBeforeInputChars","getFallbackBeforeInputChars","supportedInputTypes","isTextInputElement","nodeName","createAndAccumulateChangeEvent","dispatchQueue","accumulateTwoPhaseListeners","activeElement$1","activeElementInst$1","runEventInBatch","processDispatchQueue","getInstIfValueChanged","getTargetInstForChangeEvent","isInputEventSupported","JSCompiler_inline_result$jscomp$286","isSupported$jscomp$inline_427","element$jscomp$inline_428","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","is","y","objectIs","shallowEqual","objA","objB","keysA","keysB","currentKey","getLeafNode","getNodeForCharacterOffset","offset","nodeEnd","containsNode","outerNode","innerNode","getActiveElementDeep","hasSelectionCapabilities","skipSelectionChangeEvent","activeElement","activeElementInst","lastSelection","mouseDown","constructSelectEvent","makePrefixMap","styleProp","eventName","prefixes","vendorPrefixes","prefixedEventNames","getVendorPrefixedEventName","prefixMap","ANIMATION_END","ANIMATION_ITERATION","ANIMATION_START","TRANSITION_RUN","TRANSITION_START","TRANSITION_CANCEL","TRANSITION_END","topLevelEventsToReactNames","simpleEventPluginEvents","registerSimpleEvent","concurrentQueues","concurrentQueuesIndex","concurrentlyUpdatedLanes","finishQueueingConcurrentUpdates","endIndex","queue","pending","markUpdateLaneFromFiberToRoot","enqueueUpdate$1","enqueueConcurrentHookUpdate","getRootForUpdatedFiber","enqueueConcurrentRenderForLane","sourceFiber","isHidden","nestedUpdateCount","rootWithNestedUpdates","emptyContextObject","FiberNode","pendingProps","mode","createFiberImplClass","shouldConstruct","createWorkInProgress","current","resetWorkInProgress","createFiberFromTypeAndProps","owner","fiberTag","isHostHoistableType","createFiberFromFragment","elements","createFiberFromText","content","createFiberFromDehydratedFragment","dehydratedNode","createFiberFromPortal","portal","CapturedStacks","createCapturedValueAtFiber","source","existing","forkStack","forkStackIndex","treeForkProvider","treeForkCount","idStack","idStackIndex","treeContextProvider","treeContextId","treeContextOverflow","pushTreeFork","totalChildren","pushTreeId","baseIdWithLeadingBit","baseLength","numberOfOverflowBits","pushMaterializedTreeId","popTreeContext","restoreSuspendedTreeContext","suspendedContext","hydrationParentFiber","nextHydratableInstance","hydrationErrors","rootOrSingletonContext","HydrationMismatchException","throwOnHydrationMismatch","queueHydrationError","prepareToHydrateHostInstance","instance","listenToNonDelegatedEvent","mediaEventTypes","checkForUnmatchedText","popToNextHostParent","popHydrationState","JSCompiler_temp","shouldSetTextContent","getNextHydratableInstanceAfterHydrationBoundary","isSingletonScope","previousHydratableOnEnteringScopedSingleton","getNextHydratable","resetHydrationState","upgradeHydrationErrorsToRecoverable","queuedErrors","workInProgressRootRecoverableErrors","valueCursor","currentlyRenderingFiber$1","lastContextDependency","pushProvider","providerFiber","nextValue","popProvider","scheduleContextWorkOnParentPath","propagationRoot","propagateContextChanges","contexts","forcePropagateEntireTree","list","nextFiber","dependency","propagateParentContextChanges","isInsidePropagationBailout","currentParent","checkIfContextChanged","currentDependencies","prepareToReadContext","readContext","readContextForConsumer","readContextDuringReconciliation","consumer","AbortControllerLocal","listeners","signal","listener","scheduleCallback$2","NormalPriority","CacheContext","createCache","releaseCache","cache","currentEntangledListeners","currentEntangledPendingCount","currentEntangledLane","currentEntangledActionThenable","entangleAsyncAction","transition","entangledListeners","requestTransitionLane","resolve","pingEngtangledActionScope","chainThenableValue","thenableWithOverride","prevOnStartTransitionFinish","globalMostRecentTransitionTime","resumedCache","peekCacheFromPool","cacheResumedFromPreviousRender","workInProgressRoot","pushTransition","offscreenWorkInProgress","prevCachePool","getSuspendedCache","cacheFromPool","SuspenseException","SuspenseyCommitException","SuspenseActionException","noopSuspenseyCommitThenable","isThenableResolved","trackUsedThenable","thenableState","checkIfUseWrappedInAsyncCatch","fulfilledThenable","rejectedThenable","suspendedThenable","resolveLazy","lazyType","getSuspendedThenable","rejectedReason","thenableState$1","thenableIndexCounter$1","unwrapThenable","coerceRef","throwOnInvalidObjectTypeImpl","returnFiber","newChild","createChildReconciler","shouldTrackSideEffects","deleteChild","childToDelete","deletions","deleteRemainingChildren","currentFirstChild","mapRemainingChildren","existingChildren","useFiber","placeChild","newFiber","lastPlacedIndex","newIndex","placeSingleChild","updateTextNode","textContent","updateElement","elementType","updateFragment","updatePortal","fragment","createChild","updateSlot","oldFiber","updateFromMap","newIdx","reconcileChildrenArray","newChildren","resultingFirstChild","previousNewFiber","nextOldFiber","reconcileChildrenIterator","step","reconcileChildFibersImpl","firstChildFiber","reconcileChildFibers","mountChildFibers","hasForceUpdate","initializeUpdateQueue","cloneUpdateQueue","createUpdate","enqueueUpdate","updateQueue","executionContext","entangleTransitions","queueLanes","enqueueCapturedUpdate","capturedUpdate","newFirst","newLast","clone","didReadFromEntangledAsyncAction","suspendIfUpdateReadFromEntangledAsyncAction","entangledActionThenable","processUpdateQueue","workInProgress$jscomp$0","instance$jscomp$0","firstBaseUpdate","lastBaseUpdate","pendingQueue","lastPendingUpdate","firstPendingUpdate","newState","isHiddenUpdate","workInProgressRootRenderLanes","workInProgressRootSkippedLanes","callCallback","commitCallbacks","callbacks","currentTreeHiddenStackCursor","prevEntangledRenderLanesCursor","pushHiddenContext","entangledRenderLanes","reuseHiddenContextOnStack","popHiddenContext","suspenseHandlerStackCursor","shellBoundary","pushPrimaryTreeSuspenseHandler","handler","suspenseStackCursor","pushDehydratedActivitySuspenseHandler","pushOffscreenSuspenseHandler","reuseSuspenseHandlerOnStack","popSuspenseHandler","findFirstSuspended","row","state","isSuspenseInstancePending","isSuspenseInstanceFallback","currentlyRenderingFiber","currentHook","workInProgressHook","didScheduleRenderPhaseUpdate","didScheduleRenderPhaseUpdateDuringThisPass","shouldDoubleInvokeUserFnsInHooksDEV","localIdCounter","thenableIndexCounter","globalClientIdCounter","throwInvalidHookError","areHookInputsEqual","nextDeps","prevDeps","renderWithHooks","secondArg","nextRenderLanes","HooksDispatcherOnMount","HooksDispatcherOnUpdate","renderWithHooksAgain","finishRenderingHooks","ContextOnlyDispatcher","didRenderTooFewHooks","didReceiveUpdate","numberOfReRenders","HooksDispatcherOnRerender","TransitionAwareHostComponent","dispatcher","maybeThenable","useThenable","checkDidRenderIdHook","didRenderIdHook","bailoutHooks","resetHooksOnUnwind","mountWorkInProgressHook","hook","updateWorkInProgressHook","nextCurrentHook","nextWorkInProgressHook","createFunctionComponentUpdateQueue","use","useMemoCache","memoCache","basicStateReducer","updateReducer","updateReducerImpl","baseQueue","baseFirst","newBaseQueueFirst","newBaseQueueLast","didReadFromEntangledAsyncAction$60","revertLane","rerenderReducer","dispatch","lastRenderPhaseUpdate","updateSyncExternalStore","isHydrating$jscomp$0","snapshotChanged","updateEffect","subscribeToStore","pushSimpleEffect","updateStoreInstance","pushStoreConsistencyCheck","renderedSnapshot","nextSnapshot","checkIfSnapshotChanged","forceStoreRerender","latestGetSnapshot","scheduleUpdateOnFiber","mountStateImpl","initialStateInitializer","updateOptimisticImpl","dispatchActionState","actionQueue","setPendingState","setState","isRenderPhaseUpdate","actionNode","runActionStateAction","prevState","handleActionReturnValue","onActionError","error$66","nextState","onActionSuccess","notifyActionListeners","actionStateReducer","oldState","mountActionState","initialStateProp","ssrFormState","JSCompiler_inline_result$jscomp$0","inRootOrSingleton","dispatchSetState","dispatchOptimisticSetState","updateActionState","stateHook","updateActionStateImpl","currentStateHook","actionStateActionEffect","rerenderActionState","updateRef","mountEffectImpl","fiberFlags","hookFlags","updateEffectImpl","mountEffect","useEffectEventImpl","componentUpdateQueue","events","updateEvent","updateInsertionEffect","updateLayoutEffect","imperativeHandleEffect","refCleanup","updateImperativeHandle","mountDebugValue","updateCallback","updateMemo","nextCreate","mountDeferredValueImpl","requestDeferredLane","updateDeferredValueImpl","prevValue","startTransition","pendingState","finishedState","thenableForFinishedState","dispatchSetStateInternal","requestUpdateLane","startHostTransition","formFiber","formData","ensureFormComponentIsStateful","requestFormReset$1","existingStateHook","initialResetState","useHostTransitionStatus","updateId","updateRefresh","refreshCache","provider","root$69","dispatchReducerAction","enqueueRenderPhaseUpdate","entangleTransitionUpdate","currentState","eagerState","throwIfDuringRender","identifierPrefix","idWithLeadingBit","booleanOrThenable","applyDerivedStateFromProps","getDerivedStateFromProps","nextProps","classComponentUpdater","checkShouldComponentUpdate","oldProps","newProps","nextContext","callComponentWillReceiveProps","resolveClassComponentProps","baseProps","propName$73","defaultOnUncaughtError","defaultOnCaughtError","defaultOnRecoverableError","logUncaughtError","errorInfo","onUncaughtError","e$74","logCaughtError","boundary","onCaughtError","e$75","createRootErrorUpdate","createClassErrorUpdate","initializeClassErrorUpdate","getDerivedStateFromError","legacyErrorBoundariesThatAlreadyFailed","stack","throwException","rootRenderLanes","renderDidSuspendDelayIfPossible","workInProgressRootExitStatus","attachPingListener","wrapperError","workInProgressRootConcurrentErrors","SelectiveHydrationException","reconcileChildren","nextChildren","updateForwardRef","propsWithoutRef","bailoutOnAlreadyFinishedWork","updateMemoComponent","updateSimpleMemoComponent","checkScheduledUpdateOrContext","prevProps","updateFunctionComponent","updateOffscreenComponent","deferHiddenOffscreenComponent","bailoutOffscreenComponent","nextBaseLanes","remainingChildLanes","mountActivityChildren","mountWorkInProgressOffscreenFiber","retryActivityComponentWithoutHydrating","updateActivityComponent","didSuspend","canHydrateHydrationBoundary","dehydrated","markRef","replayFunctionComponent","updateClassComponent","contextType","unresolvedOldProps","oldContext","contextType$jscomp$0","mountHostRootWithoutHydrating","SUSPENDED_MARKER","mountSuspenseOffscreenState","getRemainingWorkInPrimaryTree","primaryTreeDidDefer","workInProgressDeferredLane","updateSuspenseComponent","showFallback","nextPrimaryChildren","mountSuspensePrimaryChildren","retrySuspenseComponentWithoutHydrating","digest","primaryChildren","offscreenProps","scheduleSuspenseWorkOnFiber","initSuspenseListRenderState","isBackwards","tail","lastContentRow","tailMode","renderState","updateSuspenseListComponent","revealOrder","suspenseContext","shouldForceFallback","attemptEarlyBailoutIfNoScheduledUpdate","state$102","didSuspendBefore","beginWork","$$typeof","getResource","getOwnerDocumentFromRootContainer","setInitialProperties","resolveSingletonInstance","canHydrateInstance","canHydrateTextInstance","markUpdate","preloadInstanceAndSuspendIfNeeded","shouldRemainOnPreviousScreen","preloadResourceAndSuspendIfNeeded","resource","preloadResource","scheduleRetryEffect","retryQueue","workInProgressSuspendedRetryLanes","cutOffTailIfNeeded","hasRenderedATailFallback","lastTailNode","lastTailNode$106","bubbleProperties","completedWork","didBailout","newChildLanes","subtreeFlags","child$107","completeWork","nextResource","ownerDocument","listenToAllSupportedEvents","workInProgressRootRenderTargetTime","unwindWork","unwindInterruptedWork","interruptedWork","commitHookEffectListMount","flags","finishedWork","lastEffect","firstEffect","captureCommitPhaseError","commitHookEffectListUnmount","nearestMountedAncestor$jscomp$0","destroy","nearestMountedAncestor","destroy_","commitClassCallbacks","safelyCallComponentWillUnmount","safelyAttachRef","instanceToUse","safelyDetachRef","error$140","commitHostMount","commitHostUpdate","domElement","updateProperties","isHostParent","getHostSibling","insertOrAppendPlacementNodeIntoContainer","before","insertOrAppendPlacementNode","commitHostSingletonAcquisition","singleton","attributes","offscreenSubtreeIsHidden","offscreenSubtreeWasHidden","needsFormReset","PossiblyWeakSet","nextEffect","commitBeforeMutationEffects","eventsEnabled","_enabled","selection","anchorOffset","focusNode","indexWithinAnchor","indexWithinFocus","next","selectionInformation","resolvedPrevProps","clearContainerSparingly","commitLayoutEffectOnFiber","finishedRoot","recursivelyTraverseLayoutEffects","error$139","commitActivityHydrationCallbacks","commitSuspenseHydrationCallbacks","retryDehydratedSuspenseBoundary","registerSuspenseInstanceRetry","prevOffscreenSubtreeWasHidden","recursivelyTraverseReappearLayoutEffects","detachFiberAfterEffects","hostParent","hostParentIsContainer","recursivelyTraverseDeletionEffects","commitDeletionEffectsOnFiber","deletedFiber","prevHostParent","prevHostParentIsContainer","releaseSingletonInstance","clearHydrationBoundary","retryIfBlockedOn","getRetryCache","retryCache","attachSuspenseRetryListeners","wakeables","wakeable","retry","resolveRetryWakeable","recursivelyTraverseMutationEffects","root$jscomp$0","parentFiber","commitMutationEffectsOnFiber","currentHoistableRoot","commitReconciliationEffects","hoistableRoot","currentResource","maybeNodes","getHydratableHoistableCache","mountHoistable","acquireResource","tagCaches","getHoistableRoot","recursivelyResetForms","globalMostRecentFallbackTime","wasHidden","prevOffscreenSubtreeIsHidden","recursivelyTraverseDisappearLayoutEffects","display","hideOrUnhideDehydratedBoundary","hostParentFiber","parent$141","before$142","parent$143","before$144","finishedRoot$jscomp$0","includeWorkInProgressEffects","hiddenCallbacks","commitOffscreenPassiveMountEffects","previousCache","commitCachePassiveMountEffect","recursivelyTraversePassiveMountEffects","committedLanes","committedTransitions","commitPassiveMountOnFiber","_finishedWork$memoize2","id","onPostCommit","recursivelyTraverseAtomicPassiveEffects","recursivelyTraverseReconnectPassiveEffects","committedLanes$jscomp$0","committedTransitions$jscomp$0","suspenseyCommitFlag","recursivelyAccumulateSuspenseyCommit","suspendedState","accumulateSuspenseyCommitOnFiber","suspendResource","previousHoistableRoot","detachAlternateSiblings","previousFiber","recursivelyTraversePassiveUnmountEffects","commitPassiveUnmountEffectsInsideOfDeletedTree_begin","commitPassiveUnmountOnFiber","recursivelyTraverseDisconnectPassiveEffects","deletedSubtreeRoot","sibling","DefaultAsyncDispatcher","resourceType","cacheForType","PossiblyWeakMap","workInProgressSuspendedReason","workInProgressThrownValue","workInProgressRootDidSkipSuspendedSiblings","workInProgressRootIsPrerendering","workInProgressRootDidAttachPingListener","workInProgressRootInterleavedUpdatedLanes","workInProgressRootPingedLanes","workInProgressRootDidIncludeRecursiveRenderUpdate","workInProgressTransitions","pendingEffectsStatus","pendingEffectsRoot","pendingFinishedWork","pendingEffectsLanes","pendingEffectsRemainingLanes","pendingPassiveTransitions","pendingRecoverableErrors","prepareFreshStack","markRootSuspended","ensureRootIsScheduled","performWorkOnRoot","forceSync","shouldTimeSlice","exitStatus","renderRootConcurrent","renderRootSync","renderWasConcurrent","isRenderConsistentWithExternalStores","wasRootDehydrated","scheduleTimeout","commitRootWhenReady","recoverableErrors","transitions","didIncludeRenderPhaseUpdate","didSkipSuspendedSiblings","suspendedCommitReason","completedRenderStartTime","completedRenderEndTime","timeoutOffset","waitForCommitToBeReady","commitRoot","check","didAttemptEntireTree","index$6","flushSyncWorkAcrossRoots_impl","resetWorkInProgressStack","timeoutHandle","cancelTimeout","allEntangledLanes","index$4","handleThrow","thrownValue","pushDispatcher","prevDispatcher","pushAsyncDispatcher","prevAsyncDispatcher","shouldYieldForPrerendering","prevExecutionContext","unitOfWork","reason","throwAndUnwindWorkLoop","workLoopSync","thrownValue$165","performUnitOfWork","replaySuspendedUnitOfWork","hostFiber","completeUnitOfWork","workLoopConcurrentByScheduler","thrownValue$167","suspendedReason","unwindUnitOfWork","skipSiblings","flushPendingEffects","scheduleCallback$1","flushPassiveEffects","flushMutationEffects","flushLayoutEffects","flushSpawnedWork","rootMutationHasEffect","priorSelectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","win","start$jscomp$0","end$jscomp$0","startMarker","endMarker","range","rootHasLayoutEffect","releaseRootPooledCache","onRecoverableError","recoverableError","renderPriority","captureCommitPhaseErrorOnRoot","rootFiber","pingCache","threadIDs","pingSuspendedRoot","retryTimedOutBoundary","boundaryFiber","retryLane","firstScheduledRoot","lastScheduledRoot","didScheduleMicrotask","mightHavePendingSyncWork","isFlushingWork","currentEventTransitionLane","scheduleImmediateRootScheduleTask","syncTransitionLanes","onlyLegacy","didPerformSomeWork","root$170","performSyncWorkOnRoot","processRootScheduleInImmediateTask","processRootScheduleInMicrotask","shouldAttemptEagerTransition","prev","scheduleTaskForRootDuringMicrotask","index$5","expirationTime","performWorkOnRootViaSchedulerTask","didTimeout","originalCallbackNode","workInProgressRootRenderLanes$jscomp$0","scheduleMicrotask","actionScopeLane","coerceFormActionProp","actionProp","createFormDataWithSubmitter","submitter","temp","extractEvents$1","maybeTargetInst","i$jscomp$inline_1577","eventName$jscomp$inline_1578","domEventName$jscomp$inline_1579","capitalizedEvent$jscomp$inline_1580","nonDelegatedEvents","eventSystemFlags","_dispatchQueue$i","previousInstance","i$jscomp$0","_dispatchListeners$i","currentTarget","targetElement","listenerSetKey","addTrappedEventListener","listenToNativeEvent","isCapturePhaseListener","listeningMarker","rootContainerElement","targetContainer","listenerWrapper","dispatchDiscreteEvent","dispatchContinuousEvent","dispatchEvent","dispatchEventForPluginEventSystem","targetInst$jscomp$0","ancestorInst","nodeTag","grandTag","SyntheticEventCtor","inCapturePhase","accumulateTargetOnly","reactEventName","lastHostComponent","_instance","createDispatchListener","getParent","tempB","accumulateEnterLeaveListenersForEvent","getTargetInstFunc","handleEventFunc","fallbackData","eventType","targetFiber","captureName","_instance2","common","_instance3","NORMALIZE_NEWLINES_REGEX","NORMALIZE_NULL_AND_REPLACEMENT_REGEX","normalizeMarkupForTextOrAttribute","markup","serverText","clientText","setProp","setPropOnCustomElement","hasSrc","hasSrcSet","propKey","propValue$184","lastProps","lastProp","propKey$201","propKey$217","propKey$222","propKey$227","propKey$232","isLikelyStaticResource","initiatorType","estimateBandwidth","bits","resourceEntries","entry","transferSize","duration","overlapEntry","overlapStartTime","overlapTransferSize","overlapInitiatorType","namespaceURI","parentNamespace","currentPopstateTransitionEvent","localPromise","handleErrorInNextTick","parentInstance","hydrationInstance","depth","nextNode","node$jscomp$0","nextNode$jscomp$0","suspenseInstance","anyProps","nodeType","data","targetInstance","rootContainerInstance","preloadPropsMap","preconnectsSet","previousDispatcher","flushSyncWork","requestFormReset","prefetchDNS","preconnect","preload","preloadModule","preinitScript","preinitStyle","preinitModuleScript","previousWasRendering","wasRendering","formInst","globalDocument","preconnectAs","rel","limitedEscapedHref","preloadSelector","getStyleKey","getScriptKey","getStylesheetSelectorFromKey","getScriptSelectorFromKey","precedence","adoptPreloadPropsForStylesheet","link","reject","insertStylesheet","src","scripts","adoptPreloadPropsForScript","currentProps","styles$243","resource$244","preloadStylesheet","stylesheetPropsFromRawProps","rawProps","preloadProps","styleProps","instance$249","linkInstance","nodes","prior","stylesheetProps","scriptProps","keyAttribute","caches","nodeKey","hostContext","onUnsuspend","estimatedBytesWithinLimit","insertSuspendedStylesheets","commit","stylesheetTimer","unsuspend","imgTimer","precedencesByRoot","insertStylesheetIntoRoot","precedences","FiberRootNode","hydrate","onDefaultTransitionIndicator","formState","createFiberRoot","initialChildren","hydrationCallbacks","isStrictMode","getContextForSubtree","parentComponent","updateContainerImpl","markRetryLaneImpl","markRetryLaneIfNotHydrated","attemptContinuousHydration","attemptHydrationAtCurrentPriority","blockedOn","findInstanceBlockingEvent","return_targetInst","clearIfContinuousEvent","queueIfContinuousEvent","discreteReplayableEvents","findInstanceBlockingTarget","hasScheduledReplayAttempt","queuedFocus","queuedDrag","queuedMouse","queuedPointers","queuedPointerCaptures","queuedExplicitHydrationTargets","accumulateOrCreateContinuousQueuedReplayableEvent","existingQueuedEvent","pointerId","attemptExplicitHydrationTarget","queuedTarget","attemptReplayContinuousQueuedEvent","queuedEvent","targetContainers","nextBlockedOn","nativeEventClone","attemptReplayContinuousQueuedEventInMap","map","replayUnblockedEvents","scheduleCallbackIfUnblocked","unblocked","lastScheduledReplayQueue","scheduleReplayQueueIfNeeded","formReplayingQueue","submitterOrAction","unblock","formProps","defaultOnDefaultTransitionIndicator","handleNavigate","pendingResolve","handleNavigateComplete","isCancelled","startFakeNavigation","currentEntry","ReactDOMRoot","internalRoot","ReactDOMHydrationRoot","isomorphicReactPackageVersion$jscomp$inline_1840","componentOrElement","internals$jscomp$inline_2347","hook$jscomp$inline_2348","reactDomClient_production","clientModule","PopStateEventType","createBrowserHistory","createBrowserLocation","window2","globalHistory","pathname","search","hash","createLocation","createBrowserHref","to","createPath","getUrlBasedHistory","invariant","message","warning","cond","createKey","getHistoryState","location","parsePath","path","parsedPath","hashIndex","searchIndex","getLocation","createHref2","validateLocation","v5Compat","getIndex","handlePop","nextIndex","delta","history","historyState","replace2","createURL","base","matchRoutes","routes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","parentsMeta","parentPath","flattenRoute","route","relativePath","meta","joinPaths","routesMeta","computeScore","_a","exploded","explodeOptionalSegments","segments","rest","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","score","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","normalizePathname","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo2","paramName","splatValue","caseSensitive","params","regexpSource","v","startIndex","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","field","dest","getPathContributingMatches","getResolveToMatches","pathMatches","idx","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","isRouteErrorResponse","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","React.createContext","DataRouterStateContext","ViewTransitionContext","FetchersContext","AwaitContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","relative","useInRouterContext","navigator2","React2.useContext","useResolvedPath","joinedPathname","useLocation","navigateEffectWarning","useIsomorphicLayoutEffect","cb","React2.useLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","routePathnamesJson","activeRef","React2.useRef","React2.useCallback","OutletContext","React2.createContext","useOutlet","outlet","React2.createElement","React2.useMemo","useRoutes","useRoutesImpl","dataRouterState","future","parentMatches","routeMatch","parentParams","parentPathname","parentPathnameBase","parentRoute","warningOnce","locationFromContext","parentSegments","_renderMatches","DefaultErrorComponent","useRouteError","lightgrey","preStyles","codeStyles","devInfo","React2.Fragment","defaultErrorElement","RenderErrorBoundary","React2.Component","RenderedRoute","routeContext","renderedMatches","errors","errorIndex","renderFallback","fallbackIndex","loaderData","errors2","needsToRunLoader","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","matches2","getChildren","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","useRouteId","routeId","router","alreadyWarned","React3.memo","DataRoutes","Outlet","Router","basenameProp","locationProp","navigationType","staticProp","navigationContext","React3.useMemo","locationContext","trailingPathname","React3.createElement","defaultMethod","defaultEncType","isHtmlElement","isButtonElement","isFormElement","isInputElement","isModifiedEvent","shouldProcessLinkClick","_formDataSupportsSubmitter","isFormDataSubmitterSupported","supportedFormEncTypes","getFormEncType","encType","getFormSubmissionInfo","method","body","attr","invariant2","loadRouteModule","routeModulesCache","routeModule","isHtmlLinkDescriptor","getKeyedPrefetchLinks","manifest","routeModules","links","mod","dedupeLinkDescriptors","getNewMatchesForLinks","page","nextMatches","currentMatches","isNew","matchPathChanged","manifestRoute","routeChoice","getModuleLinkHrefs","manifestPatch","dedupeHrefs","hrefs","sortKeys","obj","sorted","keys","descriptors","preloads","deduped","singleFetchUrl","reqUrl","useDataRouterContext2","React9.useContext","useDataRouterStateContext","FrameworkContext","React9.createContext","useFrameworkContext","usePrefetchBehavior","prefetch","theirElementProps","frameworkContext","maybePrefetch","setMaybePrefetch","React9.useState","shouldPrefetch","setShouldPrefetch","onFocus","onBlur","onMouseEnter","onMouseLeave","onTouchStart","React9.useRef","React9.useEffect","entries","observer","setIntent","cancelIntent","composeEventHandlers","theirHandler","ourHandler","PrefetchPageLinks","dataLinkProps","React9.useMemo","React9.createElement","PrefetchPageLinksImpl","useKeyedPrefetchLinks","keyedPrefetchLinks","setKeyedPrefetchLinks","interrupted","linkProps","newMatchesForData","newMatchesForAssets","dataHrefs","routesParams","foundOptOutRoute","m","m2","moduleHrefs","React9.Fragment","mergeRefs","refs","isBrowser","BrowserRouter","historyRef","React10.useRef","setStateImpl","React10.useState","React10.useCallback","React10.startTransition","React10.useLayoutEffect","React10.createElement","ABSOLUTE_URL_REGEX2","Link","React10.forwardRef","onClick","discover","reloadDocument","preventScrollReset","viewTransition","forwardedRef","React10.useContext","isAbsolute","absoluteHref","isExternal","currentUrl","targetUrl","prefetchRef","prefetchHandlers","internalOnClick","useLinkClickHandler","handleClick","React10.Fragment","NavLink","ariaCurrentProp","classNameProp","routerState","isTransitioning","useViewTransitionState","nextLocationPathname","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","className","Form","fetcherKey","navigate","onSubmit","submit","useSubmit","formAction","useFormAction","formMethod","submitHandler","submitMethod","getDataRouterConsoleError2","useDataRouterContext3","replaceProp","fetcherId","getUniqueFetcherId","currentRouteId","indexValues","qs","opts","vtContext","currentPath","nextPath"],"mappings":";;;;;;;;6CAWA,IAAIA,EAAqB,OAAO,IAAI,4BAA4B,EAC9DC,EAAsB,OAAO,IAAI,gBAAgB,EACnD,SAASC,EAAQC,EAAMC,EAAQC,EAAU,CACvC,IAAIC,EAAM,KAGV,GAFWD,IAAX,SAAwBC,EAAM,GAAKD,GACxBD,EAAO,MAAlB,SAA0BE,EAAM,GAAKF,EAAO,KACxC,QAASA,EAAQ,CACnBC,EAAW,CAAA,EACX,QAASE,KAAYH,EACTG,IAAV,QAAuBF,EAASE,CAAQ,EAAIH,EAAOG,CAAQ,EACjE,MAASF,EAAWD,EAClB,OAAAA,EAASC,EAAS,IACX,CACL,SAAUL,EACV,KAAMG,EACN,IAAKG,EACL,IAAgBF,IAAX,OAAoBA,EAAS,KAClC,MAAOC,EAEX,CACA,OAAAG,GAAA,SAAmBP,EACnBO,GAAA,IAAcN,EACdM,GAAA,KAAeN,2CC9BbO,GAAA,QAAiBC,GAAA;;;;;;;;4CCQnB,IAAIV,EAAqB,OAAO,IAAI,4BAA4B,EAC9DW,EAAoB,OAAO,IAAI,cAAc,EAC7CV,EAAsB,OAAO,IAAI,gBAAgB,EACjDW,EAAyB,OAAO,IAAI,mBAAmB,EACvDC,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAAqB,OAAO,IAAI,eAAe,EAC/CC,EAAyB,OAAO,IAAI,mBAAmB,EACvDC,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAAkB,OAAO,IAAI,YAAY,EACzCC,EAAkB,OAAO,IAAI,YAAY,EACzCC,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAAwB,OAAO,SACjC,SAASC,EAAcC,EAAe,CACpC,OAAaA,IAAT,MAAuC,OAAOA,GAApB,SAA0C,MACxEA,EACGF,GAAyBE,EAAcF,CAAqB,GAC7DE,EAAc,YAAY,EACN,OAAOA,GAAtB,WAAsCA,EAAgB,KAC/D,CACA,IAAIC,EAAuB,CACvB,UAAW,UAAY,CACrB,MAAO,EACb,EACI,mBAAoB,UAAY,CAAA,EAChC,oBAAqB,UAAY,CAAA,EACjC,gBAAiB,UAAY,CAAA,GAE/BC,EAAS,OAAO,OAChBC,EAAc,CAAA,EAChB,SAASC,EAAUC,EAAOC,EAASC,EAAS,CAC1C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOH,EACZ,KAAK,QAAUI,GAAWN,CAC5B,CACAG,EAAU,UAAU,iBAAmB,CAAA,EACvCA,EAAU,UAAU,SAAW,SAAUI,EAAcC,EAAU,CAC/D,GACe,OAAOD,GAApB,UACe,OAAOA,GAAtB,YACQA,GAAR,KAEA,MAAM,MACJ,0GAEJ,KAAK,QAAQ,gBAAgB,KAAMA,EAAcC,EAAU,UAAU,CACvE,EACAL,EAAU,UAAU,YAAc,SAAUK,EAAU,CACpD,KAAK,QAAQ,mBAAmB,KAAMA,EAAU,aAAa,CAC/D,EACA,SAASC,IAAiB,CAAA,CAC1BA,GAAe,UAAYN,EAAU,UACrC,SAASO,EAAcN,EAAOC,EAASC,EAAS,CAC9C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOH,EACZ,KAAK,QAAUI,GAAWN,CAC5B,CACA,IAAIW,GAA0BD,EAAc,UAAY,IAAID,GAC5DE,GAAuB,YAAcD,EACrCT,EAAOU,GAAwBR,EAAU,SAAS,EAClDQ,GAAuB,qBAAuB,GAC9C,IAAIC,GAAc,MAAM,QACxB,SAASC,IAAO,CAAA,CAChB,IAAIC,EAAuB,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,IAAI,EAC7DC,GAAiB,OAAO,UAAU,eACpC,SAASC,GAAarC,EAAMG,EAAKsB,EAAO,CACtC,IAAIa,EAAUb,EAAM,IACpB,MAAO,CACL,SAAU5B,EACV,KAAMG,EACN,IAAKG,EACL,IAAgBmC,IAAX,OAAqBA,EAAU,KACpC,MAAOb,EAEX,CACA,SAASc,GAAmBC,EAAYC,EAAQ,CAC9C,OAAOJ,GAAaG,EAAW,KAAMC,EAAQD,EAAW,KAAK,CAC/D,CACA,SAASE,GAAeC,EAAQ,CAC9B,OACe,OAAOA,GAApB,UACSA,IAAT,MACAA,EAAO,WAAa9C,CAExB,CACA,SAAS+C,GAAOzC,EAAK,CACnB,IAAI0C,EAAgB,CAAE,IAAK,KAAM,IAAK,IAAI,EAC1C,MACE,IACA1C,EAAI,QAAQ,QAAS,SAAU2C,EAAO,CACpC,OAAOD,EAAcC,CAAK,CAChC,CAAK,CAEL,CACA,IAAIC,GAA6B,OACjC,SAASC,GAAcC,EAASC,EAAO,CACrC,OAAoB,OAAOD,GAApB,UAAwCA,IAAT,MAA4BA,EAAQ,KAAhB,KACtDL,GAAO,GAAKK,EAAQ,GAAG,EACvBC,EAAM,SAAS,EAAE,CACvB,CACA,SAASC,GAAgBC,EAAU,CACjC,OAAQA,EAAS,OAAM,CACrB,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,OACjB,QACE,OACgB,OAAOA,EAAS,QAA7B,SACGA,EAAS,KAAKlB,GAAMA,EAAI,GACtBkB,EAAS,OAAS,UACpBA,EAAS,KACP,SAAUC,EAAgB,CACVD,EAAS,SAAvB,YACIA,EAAS,OAAS,YACnBA,EAAS,MAAQC,EACpC,EACc,SAAUC,EAAO,CACDF,EAAS,SAAvB,YACIA,EAAS,OAAS,WAAcA,EAAS,OAASE,EACtE,CACA,GACQF,EAAS,OACjB,CACQ,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,MACzB,CACA,CACE,MAAMA,CACR,CACA,SAASG,EAAaC,EAAUC,EAAOC,EAAeC,EAAW9B,EAAU,CACzE,IAAI7B,GAAO,OAAOwD,GACExD,KAAhB,aAAsCA,KAAd,aAAoBwD,EAAW,MAC3D,IAAII,GAAiB,GACrB,GAAaJ,IAAT,KAAmBI,GAAiB,OAEtC,QAAQ5D,GAAI,CACV,IAAK,SACL,IAAK,SACL,IAAK,SACH4D,GAAiB,GACjB,MACF,IAAK,SACH,OAAQJ,EAAS,SAAQ,CACvB,KAAK3D,EACL,KAAKW,EACHoD,GAAiB,GACjB,MACF,KAAK5C,EACH,OACG4C,GAAiBJ,EAAS,MAC3BD,EACEK,GAAeJ,EAAS,QAAQ,EAChCC,EACAC,EACAC,EACA9B,CAChB,CAEA,CACA,CACE,GAAI+B,GACF,OACG/B,EAAWA,EAAS2B,CAAQ,EAC5BI,GACQD,IAAP,GAAmB,IAAMX,GAAcQ,EAAU,CAAC,EAAIG,EACxD1B,GAAYJ,CAAQ,GACd6B,EAAgB,GACVE,IAAR,OACGF,EACCE,GAAe,QAAQb,GAA4B,KAAK,EAAI,KAChEQ,EAAa1B,EAAU4B,EAAOC,EAAe,GAAI,SAAUG,GAAG,CAC5D,OAAOA,EACnB,CAAW,GACOhC,GAAR,OACCa,GAAeb,CAAQ,IACrBA,EAAWU,GACVV,EACA6B,GACW7B,EAAS,KAAjB,MACA2B,GAAYA,EAAS,MAAQ3B,EAAS,IACnC,IACC,GAAKA,EAAS,KAAK,QAClBkB,GACA,OACE,KACRa,EAChB,GACUH,EAAM,KAAK5B,CAAQ,GACvB,EAEJ+B,GAAiB,EACjB,IAAIE,GAAwBH,IAAP,GAAmB,IAAMA,EAAY,IAC1D,GAAI1B,GAAYuB,CAAQ,EACtB,QAASO,GAAI,EAAGA,GAAIP,EAAS,OAAQO,KAClCJ,EAAYH,EAASO,EAAC,EACpB/D,GAAO8D,GAAiBd,GAAcW,EAAWI,EAAC,EAClDH,IAAkBL,EACjBI,EACAF,EACAC,EACA1D,GACA6B,CACV,UACakC,GAAI5C,EAAcqC,CAAQ,EAAmB,OAAOO,IAAtB,WACvC,IACEP,EAAWO,GAAE,KAAKP,CAAQ,EAAGO,GAAI,EACjC,EAAEJ,EAAYH,EAAS,KAAI,GAAI,MAG9BG,EAAYA,EAAU,MACpB3D,GAAO8D,GAAiBd,GAAcW,EAAWI,IAAG,EACpDH,IAAkBL,EACjBI,EACAF,EACAC,EACA1D,GACA6B,CACV,UACwB7B,KAAb,SAAmB,CAC1B,GAAmB,OAAOwD,EAAS,MAA/B,WACF,OAAOD,EACLJ,GAAgBK,CAAQ,EACxBC,EACAC,EACAC,EACA9B,GAEJ,MAAA4B,EAAQ,OAAOD,CAAQ,EACjB,MACJ,mDACyBC,IAAtB,kBACG,qBAAuB,OAAO,KAAKD,CAAQ,EAAE,KAAK,IAAI,EAAI,IAC1DC,GACJ,4EAER,CACE,OAAOG,EACT,CACA,SAASI,EAAYR,EAAUS,EAAMvC,EAAS,CAC5C,GAAY8B,GAAR,KAAkB,OAAOA,EAC7B,IAAIU,EAAS,CAAA,EACXC,EAAQ,EACV,OAAAZ,EAAaC,EAAUU,EAAQ,GAAI,GAAI,SAAUE,GAAO,CACtD,OAAOH,EAAK,KAAKvC,EAAS0C,GAAOD,GAAO,CAC5C,CAAG,EACMD,CACT,CACA,SAASG,EAAgBC,EAAS,CAChC,GAAWA,EAAQ,UAAf,GAAwB,CAC1B,IAAIC,EAAOD,EAAQ,QACnBC,EAAOA,EAAI,EACXA,EAAK,KACH,SAAUC,EAAc,EACZF,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,MAC1BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUE,EACpD,EACM,SAAUlB,EAAO,EACLgB,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,MAC1BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUhB,EACpD,GAEWgB,EAAQ,UAAf,KAA4BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUC,EACzE,CACE,GAAUD,EAAQ,UAAd,EAAuB,OAAOA,EAAQ,QAAQ,QAClD,MAAMA,EAAQ,OAChB,CACA,IAAIG,GACe,OAAO,aAAtB,WACI,YACA,SAAUnB,EAAO,CACf,GACe,OAAO,QAApB,UACe,OAAO,OAAO,YAA7B,WACA,CACA,IAAIoB,EAAQ,IAAI,OAAO,WAAW,QAAS,CACzC,QAAS,GACT,WAAY,GACZ,QACe,OAAOpB,GAApB,UACSA,IAAT,MACa,OAAOA,EAAM,SAA1B,SACI,OAAOA,EAAM,OAAO,EACpB,OAAOA,CAAK,EAClB,MAAOA,CACrB,CAAa,EACD,GAAI,CAAC,OAAO,cAAcoB,CAAK,EAAG,MAC9C,SACyB,OAAO,SAApB,UACe,OAAO,QAAQ,MAA9B,WACA,CACA,QAAQ,KAAK,oBAAqBpB,CAAK,EACvC,MACZ,CACU,QAAQ,MAAMA,CAAK,CAC7B,EACEqB,GAAW,CACT,IAAKX,EACL,QAAS,SAAUR,EAAUoB,EAAaC,EAAgB,CACxDb,EACER,EACA,UAAY,CACVoB,EAAY,MAAM,KAAM,SAAS,CAC3C,EACQC,EAER,EACI,MAAO,SAAUrB,EAAU,CACzB,IAAIsB,EAAI,EACR,OAAAd,EAAYR,EAAU,UAAY,CAChCsB,GACR,CAAO,EACMA,CACb,EACI,QAAS,SAAUtB,EAAU,CAC3B,OACEQ,EAAYR,EAAU,SAAUY,EAAO,CACrC,OAAOA,CACjB,CAAS,GAAK,CAAA,CAEd,EACI,KAAM,SAAUZ,EAAU,CACxB,GAAI,CAACd,GAAec,CAAQ,EAC1B,MAAM,MACJ,yEAEJ,OAAOA,CACb,GAEA,OAAAuB,EAAA,SAAmB9D,EACnB8D,EAAA,SAAmBJ,GACnBI,EAAA,UAAoBvD,EACpBuD,EAAA,SAAmBjF,EACnBiF,EAAA,SAAmBrE,EACnBqE,EAAA,cAAwBhD,EACxBgD,EAAA,WAAqBtE,EACrBsE,EAAA,SAAmBjE,EACnBiE,EAAA,gEACE5C,EACF4C,EAAA,mBAA6B,CAC3B,UAAW,KACX,EAAG,SAAUC,EAAM,CACjB,OAAO7C,EAAqB,EAAE,aAAa6C,CAAI,CACnD,GAEAD,EAAA,MAAgB,SAAUE,EAAI,CAC5B,OAAO,UAAY,CACjB,OAAOA,EAAG,MAAM,KAAM,SAAS,CACnC,CACA,EACAF,EAAA,YAAsB,UAAY,CAChC,OAAO,IACT,EACAA,EAAA,aAAuB,SAAU9B,EAAShD,EAAQuD,EAAU,CAC1D,GAAaP,GAAT,KACF,MAAM,MACJ,wDAA0DA,EAAU,KAExE,IAAIxB,EAAQH,EAAO,GAAI2B,EAAQ,KAAK,EAClC9C,EAAM8C,EAAQ,IAChB,GAAYhD,GAAR,KACF,IAAKG,MAAwBH,EAAO,MAAlB,SAA0BE,EAAM,GAAKF,EAAO,KAAMA,EAClE,CAACmC,GAAe,KAAKnC,EAAQG,EAAQ,GACzBA,KAAV,OACaA,KAAb,UACeA,KAAf,YACWA,KAAV,OAAiCH,EAAO,MAAlB,SACtBwB,EAAMrB,EAAQ,EAAIH,EAAOG,EAAQ,GACxC,IAAIA,GAAW,UAAU,OAAS,EAClC,GAAUA,KAAN,EAAgBqB,EAAM,SAAW+B,UAC5B,EAAIpD,GAAU,CACrB,QAAS8E,GAAa,MAAM9E,EAAQ,EAAG2D,GAAI,EAAGA,GAAI3D,GAAU2D,KAC1DmB,GAAWnB,EAAC,EAAI,UAAUA,GAAI,CAAC,EACjCtC,EAAM,SAAWyD,EACrB,CACE,OAAO7C,GAAaY,EAAQ,KAAM9C,EAAKsB,CAAK,CAC9C,EACAsD,EAAA,cAAwB,SAAUI,EAAc,CAC9C,OAAAA,EAAe,CACb,SAAUvE,EACV,cAAeuE,EACf,eAAgBA,EAChB,aAAc,EACd,SAAU,KACV,SAAU,MAEZA,EAAa,SAAWA,EACxBA,EAAa,SAAW,CACtB,SAAUxE,EACV,SAAUwE,GAELA,CACT,EACAJ,EAAA,cAAwB,SAAU/E,EAAMC,EAAQuD,EAAU,CACxD,IAAIpD,EACFqB,EAAQ,CAAA,EACRtB,GAAM,KACR,GAAYF,GAAR,KACF,IAAKG,KAAwBH,EAAO,MAAlB,SAA0BE,GAAM,GAAKF,EAAO,KAAMA,EAClEmC,GAAe,KAAKnC,EAAQG,CAAQ,GACxBA,IAAV,OACaA,IAAb,UACeA,IAAf,aACCqB,EAAMrB,CAAQ,EAAIH,EAAOG,CAAQ,GACxC,IAAIgF,GAAiB,UAAU,OAAS,EACxC,GAAUA,KAAN,EAAsB3D,EAAM,SAAW+B,UAClC,EAAI4B,GAAgB,CAC3B,QAASF,GAAa,MAAME,EAAc,EAAGrB,GAAI,EAAGA,GAAIqB,GAAgBrB,KACtEmB,GAAWnB,EAAC,EAAI,UAAUA,GAAI,CAAC,EACjCtC,EAAM,SAAWyD,EACrB,CACE,GAAIlF,GAAQA,EAAK,aACf,IAAKI,KAAcgF,GAAiBpF,EAAK,aAAeoF,GAC3C3D,EAAMrB,CAAQ,IAAzB,SACGqB,EAAMrB,CAAQ,EAAIgF,GAAehF,CAAQ,GAChD,OAAOiC,GAAarC,EAAMG,GAAKsB,CAAK,CACtC,EACAsD,EAAA,UAAoB,UAAY,CAC9B,MAAO,CAAE,QAAS,IAAI,CACxB,EACAA,EAAA,WAAqB,SAAUM,EAAQ,CACrC,MAAO,CAAE,SAAUxE,EAAwB,OAAQwE,CAAM,CAC3D,EACAN,EAAA,eAAyBrC,GACzBqC,EAAA,KAAe,SAAUR,EAAM,CAC7B,MAAO,CACL,SAAUvD,EACV,SAAU,CAAE,QAAS,GAAI,QAASuD,CAAI,EACtC,MAAOF,EAEX,EACAU,EAAA,KAAe,SAAU/E,EAAMsF,EAAS,CACtC,MAAO,CACL,SAAUvE,EACV,KAAMf,EACN,QAAoBsF,IAAX,OAAqB,KAAOA,EAEzC,EACAP,EAAA,gBAA0B,SAAUQ,EAAO,CACzC,IAAIC,EAAiBrD,EAAqB,EACxCsD,EAAoB,CAAA,EACtBtD,EAAqB,EAAIsD,EACzB,GAAI,CACF,IAAIC,EAAcH,EAAK,EACrBI,EAA0BxD,EAAqB,EACxCwD,IAAT,MACEA,EAAwBF,EAAmBC,CAAW,EAC3C,OAAOA,GAApB,UACWA,IAAT,MACe,OAAOA,EAAY,MAAlC,YACAA,EAAY,KAAKxD,GAAMuC,EAAiB,CAC9C,OAAWnB,GAAO,CACdmB,GAAkBnB,EAAK,CAC3B,QAAG,CACUkC,IAAT,MACWC,EAAkB,QAA3B,OACCD,EAAe,MAAQC,EAAkB,OACzCtD,EAAqB,EAAIqD,CAChC,CACA,EACAT,EAAA,yBAAmC,UAAY,CAC7C,OAAO5C,EAAqB,EAAE,gBAAe,CAC/C,EACA4C,EAAA,IAAc,SAAUa,EAAQ,CAC9B,OAAOzD,EAAqB,EAAE,IAAIyD,CAAM,CAC1C,EACAb,EAAA,eAAyB,SAAUc,EAAQC,EAAcC,EAAW,CAClE,OAAO5D,EAAqB,EAAE,eAAe0D,EAAQC,EAAcC,CAAS,CAC9E,EACAhB,EAAA,YAAsB,SAAUlD,EAAUmE,EAAM,CAC9C,OAAO7D,EAAqB,EAAE,YAAYN,EAAUmE,CAAI,CAC1D,EACAjB,EAAA,WAAqB,SAAUkB,EAAS,CACtC,OAAO9D,EAAqB,EAAE,WAAW8D,CAAO,CAClD,EACAlB,EAAA,cAAwB,UAAY,CAAA,EACpCA,EAAA,iBAA2B,SAAUmB,EAAOC,EAAc,CACxD,OAAOhE,EAAqB,EAAE,iBAAiB+D,EAAOC,CAAY,CACpE,EACApB,EAAA,UAAoB,SAAUqB,EAAQJ,EAAM,CAC1C,OAAO7D,EAAqB,EAAE,UAAUiE,EAAQJ,CAAI,CACtD,EACAjB,EAAA,eAAyB,SAAUlD,EAAU,CAC3C,OAAOM,EAAqB,EAAE,eAAeN,CAAQ,CACvD,EACAkD,EAAA,MAAgB,UAAY,CAC1B,OAAO5C,EAAqB,EAAE,MAAK,CACrC,EACA4C,EAAA,oBAA8B,SAAUsB,EAAKD,EAAQJ,EAAM,CACzD,OAAO7D,EAAqB,EAAE,oBAAoBkE,EAAKD,EAAQJ,CAAI,CACrE,EACAjB,EAAA,mBAA6B,SAAUqB,EAAQJ,EAAM,CACnD,OAAO7D,EAAqB,EAAE,mBAAmBiE,EAAQJ,CAAI,CAC/D,EACAjB,EAAA,gBAA0B,SAAUqB,EAAQJ,EAAM,CAChD,OAAO7D,EAAqB,EAAE,gBAAgBiE,EAAQJ,CAAI,CAC5D,EACAjB,EAAA,QAAkB,SAAUqB,EAAQJ,EAAM,CACxC,OAAO7D,EAAqB,EAAE,QAAQiE,EAAQJ,CAAI,CACpD,EACAjB,EAAA,cAAwB,SAAUuB,EAAaC,EAAS,CACtD,OAAOpE,EAAqB,EAAE,cAAcmE,EAAaC,CAAO,CAClE,EACAxB,EAAA,WAAqB,SAAUwB,EAASC,EAAYC,EAAM,CACxD,OAAOtE,EAAqB,EAAE,WAAWoE,EAASC,EAAYC,CAAI,CACpE,EACA1B,EAAA,OAAiB,SAAUoB,EAAc,CACvC,OAAOhE,EAAqB,EAAE,OAAOgE,CAAY,CACnD,EACApB,EAAA,SAAmB,SAAUe,EAAc,CACzC,OAAO3D,EAAqB,EAAE,SAAS2D,CAAY,CACrD,EACAf,EAAA,qBAA+B,SAC7B2B,EACAC,EACAC,EACA,CACA,OAAOzE,EAAqB,EAAE,qBAC5BuE,EACAC,EACAC,EAEJ,EACA7B,EAAA,cAAwB,UAAY,CAClC,OAAO5C,EAAqB,EAAE,cAAa,CAC7C,EACA4C,EAAA,QAAkB,iDC1hBhB8B,GAAA,QAAiBtG,GAAA;;;;;;;;qDCQnB,SAASuG,EAAKC,EAAMC,EAAM,CACxB,IAAI9D,EAAQ6D,EAAK,OACjBA,EAAK,KAAKC,CAAI,EACdC,EAAG,KAAO,EAAI/D,GAAS,CACrB,IAAIgE,GAAehE,EAAQ,IAAO,EAChCiE,GAASJ,EAAKG,EAAW,EAC3B,GAAI,EAAI5B,EAAQ6B,GAAQH,CAAI,EACzBD,EAAKG,EAAW,EAAIF,EAAQD,EAAK7D,CAAK,EAAIiE,GAAUjE,EAAQgE,OAC1D,OAAMD,CACf,CACA,CACA,SAASG,EAAKL,EAAM,CAClB,OAAaA,EAAK,SAAX,EAAoB,KAAOA,EAAK,CAAC,CAC1C,CACA,SAASM,EAAIN,EAAM,CACjB,GAAUA,EAAK,SAAX,EAAmB,OAAO,KAC9B,IAAIO,EAAQP,EAAK,CAAC,EAChBQ,EAAOR,EAAK,IAAG,EACjB,GAAIQ,IAASD,EAAO,CAClBP,EAAK,CAAC,EAAIQ,EACVN,EAAG,QACG/D,GAAQ,EAAGsE,GAAST,EAAK,OAAQU,EAAaD,KAAW,EAC7DtE,GAAQuE,GAER,CACA,IAAIC,EAAY,GAAKxE,GAAQ,GAAK,EAChCyE,EAAOZ,EAAKW,CAAS,EACrBE,EAAaF,EAAY,EACzBG,EAAQd,EAAKa,CAAU,EACzB,GAAI,EAAItC,EAAQqC,EAAMJ,CAAI,EACxBK,EAAaJ,IAAU,EAAIlC,EAAQuC,EAAOF,CAAI,GACxCZ,EAAK7D,EAAK,EAAI2E,EACfd,EAAKa,CAAU,EAAIL,EACnBrE,GAAQ0E,IACPb,EAAK7D,EAAK,EAAIyE,EACfZ,EAAKW,CAAS,EAAIH,EAClBrE,GAAQwE,WACNE,EAAaJ,IAAU,EAAIlC,EAAQuC,EAAON,CAAI,EACpDR,EAAK7D,EAAK,EAAI2E,EAASd,EAAKa,CAAU,EAAIL,EAAQrE,GAAQ0E,MACxD,OAAMX,CACjB,CACA,CACE,OAAOK,CACT,CACA,SAAShC,EAAQ2B,EAAGa,EAAG,CACrB,IAAIC,EAAOd,EAAE,UAAYa,EAAE,UAC3B,OAAaC,IAAN,EAAaA,EAAOd,EAAE,GAAKa,EAAE,EACtC,CAEA,GADAE,EAAA,aAAuB,OACN,OAAO,aAApB,UAAkD,OAAO,YAAY,KAAlC,WAAuC,CAC5E,IAAIC,EAAmB,YACvBD,eAAuB,UAAY,CACjC,OAAOC,EAAiB,IAAG,CAC/B,CACA,KAAO,CACL,IAAIC,EAAY,KACdC,EAAcD,EAAU,IAAG,EAC7BF,eAAuB,UAAY,CACjC,OAAOE,EAAU,IAAG,EAAKC,CAC7B,CACA,CACA,IAAIC,EAAY,CAAA,EACdC,EAAa,CAAA,EACbC,EAAgB,EAChBC,EAAc,KACdC,EAAuB,EACvBC,EAAmB,GACnBC,EAA0B,GAC1BC,EAAyB,GACzBC,EAAa,GACbC,EAAiC,OAAO,YAAtB,WAAmC,WAAa,KAClEC,GAAmC,OAAO,cAAtB,WAAqC,aAAe,KACxEC,EAAoC,OAAO,aAAvB,IAAsC,aAAe,KAC3E,SAASC,GAAcC,EAAa,CAClC,QAASC,EAAQ9B,EAAKiB,CAAU,EAAYa,IAAT,MAAkB,CACnD,GAAaA,EAAM,WAAf,KAAyB7B,EAAIgB,CAAU,UAClCa,EAAM,WAAaD,EAC1B5B,EAAIgB,CAAU,EACXa,EAAM,UAAYA,EAAM,eACzBpC,EAAKsB,EAAWc,CAAK,MACpB,OACLA,EAAQ9B,EAAKiB,CAAU,CAC3B,CACA,CACA,SAASc,GAAcF,EAAa,CAGlC,GAFAN,EAAyB,GACzBK,GAAcC,CAAW,EACrB,CAACP,EACH,GAAatB,EAAKgB,CAAS,IAAvB,KACDM,EAA0B,GACzBU,KACIA,GAAuB,GAAKC,UAC/B,CACH,IAAIC,EAAalC,EAAKiB,CAAU,EACvBiB,IAAT,MACEC,GAAmBJ,GAAeG,EAAW,UAAYL,CAAW,CAC5E,CACA,CACA,IAAIG,GAAuB,GACzBI,EAAgB,GAChBC,GAAgB,EAChBC,GAAY,GACd,SAASC,IAAoB,CAC3B,OAAOf,EACH,GACAZ,EAAAA,EAAQ,aAAY,EAAK0B,GAAYD,GAG3C,CACA,SAASG,IAA2B,CAElC,GADAhB,EAAa,GACTQ,GAAsB,CACxB,IAAIH,EAAcjB,EAAQ,aAAY,EACtC0B,GAAYT,EACZ,IAAIY,EAAc,GAClB,GAAI,CACF5C,EAAG,CACDyB,EAA0B,GAC1BC,IACIA,EAAyB,GAC3BG,GAAkBU,CAAa,EAC9BA,EAAgB,IACnBf,EAAmB,GACnB,IAAIqB,EAAwBtB,EAC5B,GAAI,CACFV,EAAG,CAED,IADAkB,GAAcC,CAAW,EAEvBV,EAAcnB,EAAKgB,CAAS,EACnBG,IAAT,MACA,EACEA,EAAY,eAAiBU,GAAeU,GAAiB,IAG/D,CACA,IAAI9H,GAAW0G,EAAY,SAC3B,GAAmB,OAAO1G,IAAtB,WAAgC,CAClC0G,EAAY,SAAW,KACvBC,EAAuBD,EAAY,cACnC,IAAIwB,GAAuBlI,GACzB0G,EAAY,gBAAkBU,GAGhC,GADAA,EAAcjB,EAAQ,aAAY,EACf,OAAO+B,IAAtB,WAA4C,CAC9CxB,EAAY,SAAWwB,GACvBf,GAAcC,CAAW,EACzBY,EAAc,GACd,MAAM/B,CACxB,CACgBS,IAAgBnB,EAAKgB,CAAS,GAAKf,EAAIe,CAAS,EAChDY,GAAcC,CAAW,CACzC,MAAqB5B,EAAIe,CAAS,EACpBG,EAAcnB,EAAKgB,CAAS,CAC1C,CACY,GAAaG,IAAT,KAAsBsB,EAAc,OACnC,CACH,IAAIP,EAAalC,EAAKiB,CAAU,EACvBiB,IAAT,MACEC,GACEJ,GACAG,EAAW,UAAYL,GAE3BY,EAAc,EAC5B,CACA,CACU,MAAM5C,CAChB,QAAS,CACEsB,EAAc,KACZC,EAAuBsB,EACvBrB,EAAmB,EAChC,CACQoB,EAAc,MACtB,CACA,QAAK,CACCA,EACIR,GAAgC,EAC/BD,GAAuB,EAClC,CACA,CACA,CACA,IAAIC,GACJ,GAAmB,OAAON,GAAtB,WACFM,GAAmC,UAAY,CAC7CN,EAAkBa,EAAwB,CAC9C,UACyB,OAAO,eAAvB,IAAuC,CAC9C,IAAII,GAAU,IAAI,eAChBC,GAAOD,GAAQ,MACjBA,GAAQ,MAAM,UAAYJ,GAC1BP,GAAmC,UAAY,CAC7CY,GAAK,YAAY,IAAI,CACzB,CACA,MACEZ,GAAmC,UAAY,CAC7CR,EAAgBe,GAA0B,CAAC,CAC/C,EACA,SAASL,GAAmB1H,EAAUqI,EAAI,CACxCV,EAAgBX,EAAgB,UAAY,CAC1ChH,EAASmG,EAAQ,cAAc,CACnC,EAAKkC,CAAE,CACP,CACAlC,EAAA,sBAAgC,EAChCA,EAAA,2BAAqC,EACrCA,EAAA,qBAA+B,EAC/BA,EAAA,wBAAkC,EAClCA,EAAA,mBAA6B,KAC7BA,EAAA,8BAAwC,EACxCA,EAAA,wBAAkC,SAAUmC,EAAM,CAChDA,EAAK,SAAW,IAClB,EACAnC,EAAA,wBAAkC,SAAUoC,EAAK,CAC/C,EAAIA,GAAO,IAAMA,EACb,QAAQ,MACN,iHACR,EACOX,GAAgB,EAAIW,EAAM,KAAK,MAAM,IAAMA,CAAG,EAAI,CACzD,EACApC,EAAA,iCAA2C,UAAY,CACrD,OAAOQ,CACT,EACAR,EAAA,cAAwB,SAAUqC,EAAc,CAC9C,OAAQ7B,EAAoB,CAC1B,IAAK,GACL,IAAK,GACL,IAAK,GACH,IAAI8B,EAAgB,EACpB,MACF,QACEA,EAAgB9B,CACtB,CACE,IAAIsB,EAAwBtB,EAC5BA,EAAuB8B,EACvB,GAAI,CACF,OAAOD,EAAY,CACvB,QAAG,CACC7B,EAAuBsB,CAC3B,CACA,EACA9B,EAAA,sBAAgC,UAAY,CAC1CY,EAAa,EACf,EACAZ,EAAA,yBAAmC,SAAUsC,EAAeD,EAAc,CACxE,OAAQC,EAAa,CACnB,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACH,MACF,QACEA,EAAgB,CACtB,CACE,IAAIR,EAAwBtB,EAC5BA,EAAuB8B,EACvB,GAAI,CACF,OAAOD,EAAY,CACvB,QAAG,CACC7B,EAAuBsB,CAC3B,CACA,EACA9B,EAAA,0BAAoC,SAClCsC,EACAzI,EACA0I,EACA,CACA,IAAItB,GAAcjB,EAAQ,aAAY,EAQtC,OAPa,OAAOuC,GAApB,UAAwCA,IAAT,MACzBA,EAAUA,EAAQ,MACnBA,EACc,OAAOA,GAApB,UAA+B,EAAIA,EAC/BtB,GAAcsB,EACdtB,IACLsB,EAAUtB,GACPqB,EAAa,CACnB,IAAK,GACH,IAAIE,GAAU,GACd,MACF,IAAK,GACHA,GAAU,IACV,MACF,IAAK,GACHA,GAAU,WACV,MACF,IAAK,GACHA,GAAU,IACV,MACF,QACEA,GAAU,GAChB,CACE,OAAAA,GAAUD,EAAUC,GACpBF,EAAgB,CACd,GAAIhC,IACJ,SAAUzG,EACV,cAAeyI,EACf,UAAWC,EACX,eAAgBC,GAChB,UAAW,IAEbD,EAAUtB,IACJqB,EAAc,UAAYC,EAC5BzD,EAAKuB,EAAYiC,CAAa,EACrBlD,EAAKgB,CAAS,IAAvB,MACEkC,IAAkBlD,EAAKiB,CAAU,IAChCM,GACIG,GAAkBU,CAAa,EAAIA,EAAgB,IACnDb,EAAyB,GAC9BY,GAAmBJ,GAAeoB,EAAUtB,EAAW,KACvDqB,EAAc,UAAYE,GAC5B1D,EAAKsB,EAAWkC,CAAa,EAC7B5B,GACED,IACEC,EAA0B,GAC5BU,KACIA,GAAuB,GAAKC,GAAgC,KAC/DiB,CACT,EACAtC,EAAA,qBAA+B2B,GAC/B3B,EAAA,sBAAgC,SAAUnG,EAAU,CAClD,IAAI4I,EAAsBjC,EAC1B,OAAO,UAAY,CACjB,IAAIsB,EAAwBtB,EAC5BA,EAAuBiC,EACvB,GAAI,CACF,OAAO5I,EAAS,MAAM,KAAM,SAAS,CAC3C,QAAK,CACC2G,EAAuBsB,CAC7B,CACA,CACA,iDChVEY,GAAA,QAAiBnK,GAAA;;;;;;;;6CCQnB,IAAIoK,EAAQpK,GAAA,EACZ,SAASqK,EAAuBC,EAAM,CACpC,IAAIC,EAAM,4BAA8BD,EACxC,GAAI,EAAI,UAAU,OAAQ,CACxBC,GAAO,WAAa,mBAAmB,UAAU,CAAC,CAAC,EACnD,QAAS/G,EAAI,EAAGA,EAAI,UAAU,OAAQA,IACpC+G,GAAO,WAAa,mBAAmB,UAAU/G,CAAC,CAAC,CACzD,CACE,MACE,yBACA8G,EACA,WACAC,EACA,gHAEJ,CACA,SAAS5I,GAAO,CAAA,CAChB,IAAI6I,EAAY,CACZ,EAAG,CACD,EAAG7I,EACH,EAAG,UAAY,CACb,MAAM,MAAM0I,EAAuB,GAAG,CAAC,CAC/C,EACM,EAAG1I,EACH,EAAGA,EACH,EAAGA,EACH,EAAGA,EACH,EAAGA,EACH,EAAGA,EACH,EAAGA,GAEL,EAAG,EACH,YAAa,MAEf1B,EAAoB,OAAO,IAAI,cAAc,EAC/C,SAASwK,EAAexH,EAAUyH,EAAeC,EAAgB,CAC/D,IAAI/K,EACF,EAAI,UAAU,QAAqB,UAAU,CAAC,IAAtB,OAA0B,UAAU,CAAC,EAAI,KACnE,MAAO,CACL,SAAUK,EACV,IAAaL,GAAR,KAAc,KAAO,GAAKA,EAC/B,SAAUqD,EACV,cAAeyH,EACf,eAAgBC,EAEpB,CACA,IAAI/I,EACFwI,EAAM,gEACR,SAASQ,EAAuBC,EAAIC,EAAO,CACzC,GAAeD,IAAX,OAAe,MAAO,GAC1B,GAAiB,OAAOC,GAApB,SACF,OAA6BA,IAAtB,kBAA8BA,EAAQ,EACjD,CACA,OAAAC,GAAA,6DACEP,EACFO,GAAA,aAAuB,SAAU9H,EAAU+H,EAAW,CACpD,IAAIpL,EACF,EAAI,UAAU,QAAqB,UAAU,CAAC,IAAtB,OAA0B,UAAU,CAAC,EAAI,KACnE,GACE,CAACoL,GACMA,EAAU,WAAhB,GACOA,EAAU,WAAhB,GACOA,EAAU,WAAjB,GAEF,MAAM,MAAMX,EAAuB,GAAG,CAAC,EACzC,OAAOI,EAAexH,EAAU+H,EAAW,KAAMpL,CAAG,CACtD,EACAmL,GAAA,UAAoB,SAAUrG,EAAI,CAChC,IAAIuG,EAAqBrJ,EAAqB,EAC5CsJ,EAAyBV,EAAU,EACrC,GAAI,CACF,GAAM5I,EAAqB,EAAI,KAAQ4I,EAAU,EAAI,EAAI9F,EAAK,OAAOA,EAAE,CAC3E,QAAG,CACE9C,EAAqB,EAAIqJ,EACvBT,EAAU,EAAIU,EACfV,EAAU,EAAE,EAAC,CACnB,CACA,EACAO,GAAA,WAAqB,SAAUI,EAAMnB,EAAS,CAC/B,OAAOmB,GAApB,WACGnB,GACKA,EAAUA,EAAQ,YACnBA,EACc,OAAOA,GAApB,SAC0BA,IAAtB,kBACEA,EACA,GACF,QACLA,EAAU,KACfQ,EAAU,EAAE,EAAEW,EAAMnB,CAAO,EAC/B,EACAe,GAAA,YAAsB,SAAUI,EAAM,CACvB,OAAOA,GAApB,UAA4BX,EAAU,EAAE,EAAEW,CAAI,CAChD,EACAJ,GAAA,QAAkB,SAAUI,EAAMnB,EAAS,CACzC,GAAiB,OAAOmB,GAApB,UAA4BnB,GAAwB,OAAOA,EAAQ,IAA5B,SAAgC,CACzE,IAAIa,EAAKb,EAAQ,GACfoB,EAAcR,EAAuBC,EAAIb,EAAQ,WAAW,EAC5DqB,EACe,OAAOrB,EAAQ,WAA5B,SAAwCA,EAAQ,UAAY,OAC9DsB,EACe,OAAOtB,EAAQ,eAA5B,SACIA,EAAQ,cACR,OACIa,IAAZ,QACIL,EAAU,EAAE,EACVW,EACa,OAAOnB,EAAQ,YAA5B,SAAyCA,EAAQ,WAAa,OAC9D,CACE,YAAaoB,EACb,UAAWC,EACX,cAAeC,CAC3B,CACA,EACqBT,IAAb,UACAL,EAAU,EAAE,EAAEW,EAAM,CAClB,YAAaC,EACb,UAAWC,EACX,cAAeC,EACf,MAAoB,OAAOtB,EAAQ,OAA5B,SAAoCA,EAAQ,MAAQ,MACrE,CAAS,CACT,CACA,EACAe,GAAA,cAAwB,SAAUI,EAAMnB,EAAS,CAC/C,GAAiB,OAAOmB,GAApB,SACF,GAAiB,OAAOnB,GAApB,UAAwCA,IAAT,MACjC,GAAYA,EAAQ,IAAhB,MAAmCA,EAAQ,KAArB,SAAyB,CACjD,IAAIoB,EAAcR,EAChBZ,EAAQ,GACRA,EAAQ,aAEVQ,EAAU,EAAE,EAAEW,EAAM,CAClB,YAAaC,EACb,UACe,OAAOpB,EAAQ,WAA5B,SAAwCA,EAAQ,UAAY,OAC9D,MAAoB,OAAOA,EAAQ,OAA5B,SAAoCA,EAAQ,MAAQ,MACrE,CAAS,CACT,OACmBA,GAAR,MAAmBQ,EAAU,EAAE,EAAEW,CAAI,CAChD,EACAJ,GAAA,QAAkB,SAAUI,EAAMnB,EAAS,CACzC,GACe,OAAOmB,GAApB,UACa,OAAOnB,GAApB,UACSA,IAAT,MACa,OAAOA,EAAQ,IAA5B,SACA,CACA,IAAIa,EAAKb,EAAQ,GACfoB,EAAcR,EAAuBC,EAAIb,EAAQ,WAAW,EAC9DQ,EAAU,EAAE,EAAEW,EAAMN,EAAI,CACtB,YAAaO,EACb,UACe,OAAOpB,EAAQ,WAA5B,SAAwCA,EAAQ,UAAY,OAC9D,MAAoB,OAAOA,EAAQ,OAA5B,SAAoCA,EAAQ,MAAQ,OAC3D,KAAmB,OAAOA,EAAQ,MAA5B,SAAmCA,EAAQ,KAAO,OACxD,cACe,OAAOA,EAAQ,eAA5B,SACIA,EAAQ,cACR,OACN,eACe,OAAOA,EAAQ,gBAA5B,SACIA,EAAQ,eACR,OACN,YACe,OAAOA,EAAQ,aAA5B,SAA0CA,EAAQ,YAAc,OAClE,WACe,OAAOA,EAAQ,YAA5B,SAAyCA,EAAQ,WAAa,OAChE,MAAoB,OAAOA,EAAQ,OAA5B,SAAoCA,EAAQ,MAAQ,MACjE,CAAK,CACL,CACA,EACAe,GAAA,cAAwB,SAAUI,EAAMnB,EAAS,CAC/C,GAAiB,OAAOmB,GAApB,SACF,GAAInB,EAAS,CACX,IAAIoB,EAAcR,EAAuBZ,EAAQ,GAAIA,EAAQ,WAAW,EACxEQ,EAAU,EAAE,EAAEW,EAAM,CAClB,GACe,OAAOnB,EAAQ,IAA5B,UAA+CA,EAAQ,KAArB,SAC9BA,EAAQ,GACR,OACN,YAAaoB,EACb,UACe,OAAOpB,EAAQ,WAA5B,SAAwCA,EAAQ,UAAY,MACtE,CAAO,CACP,MAAWQ,EAAU,EAAE,EAAEW,CAAI,CAC7B,EACAJ,GAAA,iBAA2B,SAAUQ,EAAM,CACzCf,EAAU,EAAE,EAAEe,CAAI,CACpB,EACAR,GAAA,wBAAkC,SAAUrG,EAAIgC,EAAG,CACjD,OAAOhC,EAAGgC,CAAC,CACb,EACAqE,GAAA,aAAuB,SAAUzF,EAAQC,EAAcC,EAAW,CAChE,OAAO5D,EAAqB,EAAE,aAAa0D,EAAQC,EAAcC,CAAS,CAC5E,EACAuF,GAAA,cAAwB,UAAY,CAClC,OAAOnJ,EAAqB,EAAE,wBAAuB,CACvD,EACAmJ,GAAA,QAAkB,8DC/MlB,SAASS,GAAW,CAElB,GACE,SAAO,+BAAmC,KAC1C,OAAO,+BAA+B,UAAa,YAcrD,GAAI,CAEF,+BAA+B,SAASA,CAAQ,CAAA,OACzCC,EAAK,CAGZ,QAAQ,MAAMA,CAAG,CAAA,CAErB,CAKE,OAAAD,EAAA,EACAE,GAAA,QAAiB1L,GAAA;;;;;;;;6CCpBnB,IAAI2L,EAAY3L,GAAA,EACdoK,EAAQwB,GAAA,EACRC,EAAWC,GAAA,EACb,SAASzB,EAAuBC,EAAM,CACpC,IAAIC,EAAM,4BAA8BD,EACxC,GAAI,EAAI,UAAU,OAAQ,CACxBC,GAAO,WAAa,mBAAmB,UAAU,CAAC,CAAC,EACnD,QAAS/G,EAAI,EAAGA,EAAI,UAAU,OAAQA,IACpC+G,GAAO,WAAa,mBAAmB,UAAU/G,CAAC,CAAC,CACzD,CACE,MACE,yBACA8G,EACA,WACAC,EACA,gHAEJ,CACA,SAASwB,EAAiBtF,EAAM,CAC9B,MAAO,EACL,CAACA,GACMA,EAAK,WAAX,GAA6BA,EAAK,WAAX,GAA8BA,EAAK,WAAZ,GAEnD,CACA,SAASuF,EAAuBC,EAAO,CACrC,IAAIxF,EAAOwF,EACTC,EAAiBD,EACnB,GAAIA,EAAM,UAAW,KAAOxF,EAAK,QAAUA,EAAOA,EAAK,WAClD,CACHwF,EAAQxF,EACR,GACGA,EAAOwF,EACCxF,EAAK,MAAQ,OAAUyF,EAAiBzF,EAAK,QACnDwF,EAAQxF,EAAK,aACXwF,EACX,CACE,OAAaxF,EAAK,MAAX,EAAiByF,EAAiB,IAC3C,CACA,SAASC,EAA6BF,EAAO,CAC3C,GAAWA,EAAM,MAAb,GAAkB,CACpB,IAAIG,EAAgBH,EAAM,cAI1B,GAHSG,IAAT,OACIH,EAAQA,EAAM,UACPA,IAAT,OAAmBG,EAAgBH,EAAM,gBAC9BG,IAAT,KAAwB,OAAOA,EAAc,UACrD,CACE,OAAO,IACT,CACA,SAASC,EAA6BJ,EAAO,CAC3C,GAAWA,EAAM,MAAb,GAAkB,CACpB,IAAIK,EAAgBL,EAAM,cAI1B,GAHSK,IAAT,OACIL,EAAQA,EAAM,UACPA,IAAT,OAAmBK,EAAgBL,EAAM,gBAC9BK,IAAT,KAAwB,OAAOA,EAAc,UACrD,CACE,OAAO,IACT,CACA,SAASC,EAAgBN,EAAO,CAC9B,GAAID,EAAuBC,CAAK,IAAMA,EACpC,MAAM,MAAM5B,EAAuB,GAAG,CAAC,CAC3C,CACA,SAASmC,EAA8BP,EAAO,CAC5C,IAAIQ,EAAYR,EAAM,UACtB,GAAI,CAACQ,EAAW,CAEd,GADAA,EAAYT,EAAuBC,CAAK,EAC3BQ,IAAT,KAAoB,MAAM,MAAMpC,EAAuB,GAAG,CAAC,EAC/D,OAAOoC,IAAcR,EAAQ,KAAOA,CACxC,CACE,QAASvF,EAAIuF,EAAO1E,EAAIkF,IAAe,CACrC,IAAIC,EAAUhG,EAAE,OAChB,GAAagG,IAAT,KAAkB,MACtB,IAAIC,EAAUD,EAAQ,UACtB,GAAaC,IAAT,KAAkB,CAEpB,GADApF,EAAImF,EAAQ,OACCnF,IAAT,KAAY,CACdb,EAAIa,EACJ,QACR,CACM,KACN,CACI,GAAImF,EAAQ,QAAUC,EAAQ,MAAO,CACnC,IAAKA,EAAUD,EAAQ,MAAOC,GAAW,CACvC,GAAIA,IAAYjG,EAAG,OAAO6F,EAAgBG,CAAO,EAAGT,EACpD,GAAIU,IAAYpF,EAAG,OAAOgF,EAAgBG,CAAO,EAAGD,EACpDE,EAAUA,EAAQ,OAC1B,CACM,MAAM,MAAMtC,EAAuB,GAAG,CAAC,CAC7C,CACI,GAAI3D,EAAE,SAAWa,EAAE,OAASb,EAAIgG,EAAWnF,EAAIoF,MAC1C,CACH,QAASC,EAAe,GAAIC,EAAUH,EAAQ,MAAOG,GAAW,CAC9D,GAAIA,IAAYnG,EAAG,CACjBkG,EAAe,GACflG,EAAIgG,EACJnF,EAAIoF,EACJ,KACV,CACQ,GAAIE,IAAYtF,EAAG,CACjBqF,EAAe,GACfrF,EAAImF,EACJhG,EAAIiG,EACJ,KACV,CACQE,EAAUA,EAAQ,OAC1B,CACM,GAAI,CAACD,EAAc,CACjB,IAAKC,EAAUF,EAAQ,MAAOE,GAAW,CACvC,GAAIA,IAAYnG,EAAG,CACjBkG,EAAe,GACflG,EAAIiG,EACJpF,EAAImF,EACJ,KACZ,CACU,GAAIG,IAAYtF,EAAG,CACjBqF,EAAe,GACfrF,EAAIoF,EACJjG,EAAIgG,EACJ,KACZ,CACUG,EAAUA,EAAQ,OAC5B,CACQ,GAAI,CAACD,EAAc,MAAM,MAAMvC,EAAuB,GAAG,CAAC,CAClE,CACA,CACI,GAAI3D,EAAE,YAAca,EAAG,MAAM,MAAM8C,EAAuB,GAAG,CAAC,CAClE,CACE,GAAU3D,EAAE,MAAR,EAAa,MAAM,MAAM2D,EAAuB,GAAG,CAAC,EACxD,OAAO3D,EAAE,UAAU,UAAYA,EAAIuF,EAAQQ,CAC7C,CACA,SAASK,EAAyBrG,EAAM,CACtC,IAAIsG,EAAMtG,EAAK,IACf,GAAUsG,IAAN,GAAoBA,IAAP,IAAqBA,IAAP,IAAoBA,IAAN,EAAW,OAAOtG,EAC/D,IAAKA,EAAOA,EAAK,MAAgBA,IAAT,MAAiB,CAEvC,GADAsG,EAAMD,EAAyBrG,CAAI,EACtBsG,IAAT,KAAc,OAAOA,EACzBtG,EAAOA,EAAK,OAChB,CACE,OAAO,IACT,CACA,IAAI1F,EAAS,OAAO,OAClBiM,EAA4B,OAAO,IAAI,eAAe,EACtD1N,EAAqB,OAAO,IAAI,4BAA4B,EAC5DW,EAAoB,OAAO,IAAI,cAAc,EAC7CV,EAAsB,OAAO,IAAI,gBAAgB,EACjDW,EAAyB,OAAO,IAAI,mBAAmB,EACvDC,EAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,EAAqB,OAAO,IAAI,eAAe,EAC/CC,GAAyB,OAAO,IAAI,mBAAmB,EACvDC,GAAsB,OAAO,IAAI,gBAAgB,EACjD0M,GAA2B,OAAO,IAAI,qBAAqB,EAC3DzM,EAAkB,OAAO,IAAI,YAAY,EACzCC,GAAkB,OAAO,IAAI,YAAY,EAEvCC,GAAsB,OAAO,IAAI,gBAAgB,EAGjDwM,GAA4B,OAAO,IAAI,2BAA2B,EAElEvM,GAAwB,OAAO,SACnC,SAASC,GAAcC,EAAe,CACpC,OAAaA,IAAT,MAAuC,OAAOA,GAApB,SAA0C,MACxEA,EACGF,IAAyBE,EAAcF,EAAqB,GAC7DE,EAAc,YAAY,EACN,OAAOA,GAAtB,WAAsCA,EAAgB,KAC/D,CACA,IAAIsM,GAAyB,OAAO,IAAI,wBAAwB,EAChE,SAASC,GAAyB3N,EAAM,CACtC,GAAYA,GAAR,KAAc,OAAO,KACzB,GAAmB,OAAOA,GAAtB,WACF,OAAOA,EAAK,WAAa0N,GACrB,KACA1N,EAAK,aAAeA,EAAK,MAAQ,KACvC,GAAiB,OAAOA,GAApB,SAA0B,OAAOA,EACrC,OAAQA,EAAI,CACV,KAAKF,EACH,MAAO,WACT,KAAKY,EACH,MAAO,WACT,KAAKD,EACH,MAAO,aACT,KAAKK,GACH,MAAO,WACT,KAAK0M,GACH,MAAO,eACT,KAAKvM,GACH,MAAO,UACb,CACE,GAAiB,OAAOjB,GAApB,SACF,OAAQA,EAAK,SAAQ,CACnB,KAAKQ,EACH,MAAO,SACT,KAAKI,EACH,OAAOZ,EAAK,aAAe,UAC7B,KAAKW,GACH,OAAQX,EAAK,SAAS,aAAe,WAAa,YACpD,KAAKa,GACH,IAAI+M,EAAY5N,EAAK,OACrB,OAAAA,EAAOA,EAAK,YACZA,IACIA,EAAO4N,EAAU,aAAeA,EAAU,MAAQ,GACnD5N,EAAcA,IAAP,GAAc,cAAgBA,EAAO,IAAM,cAC9CA,EACT,KAAKe,EACH,OACG6M,EAAY5N,EAAK,aAAe,KACxB4N,IAAT,KACIA,EACAD,GAAyB3N,EAAK,IAAI,GAAK,OAE/C,KAAKgB,GACH4M,EAAY5N,EAAK,SACjBA,EAAOA,EAAK,MACZ,GAAI,CACF,OAAO2N,GAAyB3N,EAAK4N,CAAS,CAAC,CACzD,MAAoB,CAAA,CACpB,CACE,OAAO,IACT,CACA,IAAI3L,GAAc,MAAM,QACtBE,EACEwI,EAAM,gEACRkD,EACEzB,EAAS,6DACX0B,EAAyB,CACvB,QAAS,GACT,KAAM,KACN,OAAQ,KACR,OAAQ,MAEVC,GAAa,CAAA,EACb7K,GAAQ,GACV,SAAS8K,EAAa7I,EAAc,CAClC,MAAO,CAAE,QAASA,CAAY,CAChC,CACA,SAASkC,EAAI4G,EAAQ,CACnB,EAAI/K,KACA+K,EAAO,QAAUF,GAAW7K,EAAK,EAAK6K,GAAW7K,EAAK,EAAI,KAAOA,KACvE,CACA,SAAS4D,EAAKmH,EAAQ/H,EAAO,CAC3BhD,KACA6K,GAAW7K,EAAK,EAAI+K,EAAO,QAC3BA,EAAO,QAAU/H,CACnB,CACA,IAAIgI,EAAqBF,EAAa,IAAI,EACxCG,EAA0BH,EAAa,IAAI,EAC3CI,GAA0BJ,EAAa,IAAI,EAC3CK,GAA+BL,EAAa,IAAI,EAClD,SAASM,GAAkB9B,EAAO+B,EAAkB,CAIlD,OAHAzH,EAAKsH,GAAyBG,CAAgB,EAC9CzH,EAAKqH,EAAyB3B,CAAK,EACnC1F,EAAKoH,EAAoB,IAAI,EACrBK,EAAiB,SAAQ,CAC/B,IAAK,GACL,IAAK,IACH/B,GAASA,EAAQ+B,EAAiB,mBAC7B/B,EAAQA,EAAM,cACbgC,GAAkBhC,CAAK,EAEzB,EACJ,MACF,QACE,GACIA,EAAQ+B,EAAiB,QAC1BA,EAAmBA,EAAiB,aAEpCA,EAAmBC,GAAkBD,CAAgB,EACnD/B,EAAQiC,GAAwBF,EAAkB/B,CAAK,MAE1D,QAAQA,EAAK,CACX,IAAK,MACHA,EAAQ,EACR,MACF,IAAK,OACHA,EAAQ,EACR,MACF,QACEA,EAAQ,CACpB,CACA,CACEnF,EAAI6G,CAAkB,EACtBpH,EAAKoH,EAAoB1B,CAAK,CAChC,CACA,SAASkC,IAAmB,CAC1BrH,EAAI6G,CAAkB,EACtB7G,EAAI8G,CAAuB,EAC3B9G,EAAI+G,EAAuB,CAC7B,CACA,SAASO,GAAgBnC,EAAO,CACrBA,EAAM,gBAAf,MAAgC1F,EAAKuH,GAA8B7B,CAAK,EACxE,IAAI9K,EAAUwM,EAAmB,QAC7BU,EAA2BH,GAAwB/M,EAAS8K,EAAM,IAAI,EAC1E9K,IAAYkN,IACT9H,EAAKqH,EAAyB3B,CAAK,EACpC1F,EAAKoH,EAAoBU,CAAwB,EACrD,CACA,SAASC,GAAerC,EAAO,CAC7B2B,EAAwB,UAAY3B,IACjCnF,EAAI6G,CAAkB,EAAG7G,EAAI8G,CAAuB,GACvDE,GAA6B,UAAY7B,IACtCnF,EAAIgH,EAA4B,EAChCS,GAAsB,cAAgBhB,EAC3C,CACA,IAAIiB,GAAQC,GACZ,SAASC,GAA8BC,EAAM,CAC3C,GAAeH,KAAX,OACF,GAAI,CACF,MAAM,MAAK,CACjB,OAAaI,EAAG,CACV,IAAIrM,EAAQqM,EAAE,MAAM,KAAI,EAAG,MAAM,cAAc,EAC/CJ,GAAUjM,GAASA,EAAM,CAAC,GAAM,GAChCkM,GACE,GAAKG,EAAE,MAAM,QAAQ;AAAA,OAAU,EAC3B,iBACA,GAAKA,EAAE,MAAM,QAAQ,GAAG,EACtB,eACA,EACd,CACE,MAAO;AAAA,EAAOJ,GAASG,EAAOF,EAChC,CACA,IAAII,GAAU,GACd,SAASC,GAA6BpK,EAAIqK,EAAW,CACnD,GAAI,CAACrK,GAAMmK,GAAS,MAAO,GAC3BA,GAAU,GACV,IAAIG,EAA4B,MAAM,kBACtC,MAAM,kBAAoB,OAC1B,GAAI,CACF,IAAIC,EAAiB,CACnB,4BAA6B,UAAY,CACvC,GAAI,CACF,GAAIF,EAAW,CACb,IAAIG,EAAO,UAAY,CACrB,MAAM,MAAK,CACzB,EAMY,GALA,OAAO,eAAeA,EAAK,UAAW,QAAS,CAC7C,IAAK,UAAY,CACf,MAAM,MAAK,CAC3B,CACA,CAAa,EACgB,OAAO,SAApB,UAA+B,QAAQ,UAAW,CACpD,GAAI,CACF,QAAQ,UAAUA,EAAM,EAAE,CAC1C,OAAuBN,EAAG,CACV,IAAIO,EAAUP,CAC9B,CACc,QAAQ,UAAUlK,EAAI,CAAA,EAAIwK,CAAI,CAC5C,KAAmB,CACL,GAAI,CACFA,EAAK,KAAI,CACzB,OAAuBE,EAAK,CACZD,EAAUC,CAC1B,CACc1K,EAAG,KAAKwK,EAAK,SAAS,CACpC,CACA,KAAiB,CACL,GAAI,CACF,MAAM,MAAK,CACzB,OAAqBG,EAAK,CACZF,EAAUE,CACxB,EACaH,EAAOxK,EAAE,IACO,OAAOwK,EAAK,OAA3B,YACAA,EAAK,MAAM,UAAY,EAAE,CACvC,CACA,OAAiBI,EAAQ,CACf,GAAIA,GAAUH,GAAwB,OAAOG,EAAO,OAA3B,SACvB,MAAO,CAACA,EAAO,MAAOH,EAAQ,KAAK,CAC/C,CACQ,MAAO,CAAC,KAAM,IAAI,CAC1B,GAEIF,EAAe,4BAA4B,YACzC,8BACF,IAAIM,EAAqB,OAAO,yBAC9BN,EAAe,4BACf,QAEFM,GACEA,EAAmB,cACnB,OAAO,eACLN,EAAe,4BACf,OACA,CAAE,MAAO,6BAA6B,GAE1C,IAAIO,EAAwBP,EAAe,4BAA2B,EACpEQ,EAAcD,EAAsB,CAAC,EACrCE,EAAeF,EAAsB,CAAC,EACxC,GAAIC,GAAeC,EAAc,CAC/B,IAAIC,EAAcF,EAAY,MAAM;AAAA,CAAI,EACtCG,EAAeF,EAAa,MAAM;AAAA,CAAI,EACxC,IACEH,EAAqBN,EAAiB,EACtCA,EAAiBU,EAAY,QAC7B,CAACA,EAAYV,CAAc,EAAE,SAAS,6BAA6B,GAGnEA,IACF,KAEEM,EAAqBK,EAAa,QAClC,CAACA,EAAaL,CAAkB,EAAE,SAChC,gCAIFA,IACF,GACEN,IAAmBU,EAAY,QAC/BJ,IAAuBK,EAAa,OAEpC,IACEX,EAAiBU,EAAY,OAAS,EACpCJ,EAAqBK,EAAa,OAAS,EAC7C,GAAKX,GACL,GAAKM,GACLI,EAAYV,CAAc,IAAMW,EAAaL,CAAkB,GAG/DA,IACJ,KAEE,GAAKN,GAAkB,GAAKM,EAC5BN,IAAkBM,IAElB,GAAII,EAAYV,CAAc,IAAMW,EAAaL,CAAkB,EAAG,CACpE,GAAUN,IAAN,GAA8BM,IAAN,EAC1B,EACE,IACGN,IACDM,IACA,EAAIA,GACFI,EAAYV,CAAc,IACxBW,EAAaL,CAAkB,EACnC,CACA,IAAIM,EACF;AAAA,EACAF,EAAYV,CAAc,EAAE,QAAQ,WAAY,MAAM,EACxD,OAAAvK,EAAG,aACDmL,EAAM,SAAS,aAAa,IAC3BA,EAAQA,EAAM,QAAQ,cAAenL,EAAG,WAAW,GAC/CmL,CACvB,OACmB,GAAKZ,GAAkB,GAAKM,GAErC,KACV,CACA,CACA,QAAG,CACEV,GAAU,GAAM,MAAM,kBAAoBG,CAC/C,CACE,OAAQA,EAA4BtK,EAAKA,EAAG,aAAeA,EAAG,KAAO,IACjEgK,GAA8BM,CAAyB,EACvD,EACN,CACA,SAASc,GAAc7D,EAAO8D,EAAY,CACxC,OAAQ9D,EAAM,IAAG,CACf,IAAK,IACL,IAAK,IACL,IAAK,GACH,OAAOyC,GAA8BzC,EAAM,IAAI,EACjD,IAAK,IACH,OAAOyC,GAA8B,MAAM,EAC7C,IAAK,IACH,OAAOzC,EAAM,QAAU8D,GAAuBA,IAAT,KACjCrB,GAA8B,mBAAmB,EACjDA,GAA8B,UAAU,EAC9C,IAAK,IACH,OAAOA,GAA8B,cAAc,EACrD,IAAK,GACL,IAAK,IACH,OAAOI,GAA6B7C,EAAM,KAAM,EAAE,EACpD,IAAK,IACH,OAAO6C,GAA6B7C,EAAM,KAAK,OAAQ,EAAE,EAC3D,IAAK,GACH,OAAO6C,GAA6B7C,EAAM,KAAM,EAAE,EACpD,IAAK,IACH,OAAOyC,GAA8B,UAAU,EACjD,QACE,MAAO,EACb,CACA,CACA,SAASsB,GAA4BC,EAAgB,CACnD,GAAI,CACF,IAAIC,EAAO,GACTC,EAAW,KACb,GACGD,GAAQJ,GAAcG,EAAgBE,CAAQ,EAC5CA,EAAWF,EACXA,EAAiBA,EAAe,aAC9BA,GACP,OAAOC,CACX,OAAWtB,EAAG,CACV,MAAO;AAAA,0BAA+BA,EAAE,QAAU;AAAA,EAAOA,EAAE,KAC/D,CACA,CACA,IAAI/M,GAAiB,OAAO,UAAU,eACpCuO,GAAqBzE,EAAU,0BAC/B0E,GAAmB1E,EAAU,wBAC7B2E,GAAc3E,EAAU,qBACxB4E,GAAe5E,EAAU,sBACzB6E,GAAM7E,EAAU,aAChB8E,GAA0B9E,EAAU,iCACpC+E,GAAoB/E,EAAU,2BAC9BgF,GAAuBhF,EAAU,8BACjCiF,GAAmBjF,EAAU,wBAC7BkF,GAAclF,EAAU,qBACxBmF,GAAenF,EAAU,sBACzBoF,GAAQpF,EAAU,IAClBqF,GAAgCrF,EAAU,8BAC1CsF,GAAa,KACbC,GAAe,KACjB,SAASC,GAA2BC,EAAiB,CAEnD,GADe,OAAOL,IAAtB,YAA+BC,GAA8BI,CAAe,EACxEF,IAA+B,OAAOA,GAAa,eAAnC,WAClB,GAAI,CACFA,GAAa,cAAcD,GAAYG,CAAe,CAC5D,MAAkB,CAAA,CAClB,CACA,IAAIC,GAAQ,KAAK,MAAQ,KAAK,MAAQC,GACpCC,GAAM,KAAK,IACXC,GAAM,KAAK,IACb,SAASF,GAAc1C,EAAG,CACxB,OAAAA,KAAO,EACMA,IAAN,EAAU,GAAM,IAAO2C,GAAI3C,CAAC,EAAI4C,GAAO,GAAM,CACtD,CACA,IAAIC,GAA2B,IAC7BC,GAA6B,OAC7BC,GAAgB,QAClB,SAASC,GAAwBC,EAAO,CACtC,IAAIC,EAAmBD,EAAQ,GAC/B,GAAUC,IAAN,EAAwB,OAAOA,EACnC,OAAQD,EAAQ,CAACA,EAAK,CACpB,IAAK,GACH,MAAO,GACT,IAAK,GACH,MAAO,GACT,IAAK,GACH,MAAO,GACT,IAAK,GACH,MAAO,GACT,IAAK,IACH,MAAO,IACT,IAAK,IACH,MAAO,IACT,IAAK,IACH,MAAO,IACT,IAAK,KACH,MAAO,KACT,IAAK,KACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACH,OAAOA,EAAQ,OACjB,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOA,EAAQ,QACjB,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACH,OAAOA,EAAQ,SACjB,IAAK,UACH,MAAO,UACT,IAAK,WACH,MAAO,WACT,IAAK,WACH,MAAO,WACT,IAAK,WACH,MAAO,WACT,IAAK,YACH,MAAO,GACT,QACE,OAAOA,CACb,CACA,CACA,SAASE,GAAaC,EAAMC,EAAUC,EAAsB,CAC1D,IAAIC,EAAeH,EAAK,aACxB,GAAUG,IAAN,EAAoB,MAAO,GAC/B,IAAIC,EAAY,EACdC,EAAiBL,EAAK,eACtBM,EAAcN,EAAK,YACrBA,EAAOA,EAAK,UACZ,IAAIO,EAAsBJ,EAAe,UACzC,OAAMI,IAAN,GACMJ,EAAeI,EAAsB,CAACF,EAClCF,IAAN,EACKC,EAAYR,GAAwBO,CAAY,GAC/CG,GAAeC,EACXD,IAAN,EACKF,EAAYR,GAAwBU,CAAW,EAChDJ,IACEA,EAAuBK,EAAsB,CAACP,EAC1CE,IAAN,IACGE,EAAYR,GAAwBM,CAAoB,OACjEK,EAAsBJ,EAAe,CAACE,EAClCE,IAAN,EACKH,EAAYR,GAAwBW,CAAmB,EAClDD,IAAN,EACGF,EAAYR,GAAwBU,CAAW,EAChDJ,IACEA,EAAuBC,EAAe,CAACH,EACnCE,IAAN,IACGE,EAAYR,GAAwBM,CAAoB,KACxDE,IAAN,EACH,EACMH,IAAN,GACEA,IAAaG,GACN,EAAAH,EAAWI,KAChBA,EAAiBD,EAAY,CAACA,EAC/BF,EAAuBD,EAAW,CAACA,EACpCI,GAAkBH,GACRG,IAAP,KAAgCH,EAAuB,WAA9B,GAC5BD,EACAG,CACR,CACA,SAASI,GAA0BR,EAAMS,EAAa,CACpD,OAEGT,EAAK,aACJ,EAAEA,EAAK,eAAiB,CAACA,EAAK,aAC9BS,KAHF,CAKJ,CACA,SAASC,GAAsBC,EAAMjK,EAAa,CAChD,OAAQiK,EAAI,CACV,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,IACH,OAAOjK,EAAc,IACvB,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOA,EAAc,IACvB,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACH,MAAO,GACT,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,YACH,MAAO,GACT,QACE,MAAO,EACb,CACA,CACA,SAASkK,IAAqB,CAC5B,IAAID,EAAOhB,GACX,OAAAA,KAAkB,EACX,EAAAA,GAAgB,YAAcA,GAAgB,SAC9CgB,CACT,CACA,SAASE,GAAcC,EAAS,CAC9B,QAASC,EAAU,GAAIvP,EAAI,EAAG,GAAKA,EAAGA,IAAKuP,EAAQ,KAAKD,CAAO,EAC/D,OAAOC,CACT,CACA,SAASC,GAAkBhB,EAAMiB,EAAY,CAC3CjB,EAAK,cAAgBiB,EACPA,IAAd,YACIjB,EAAK,eAAiB,EAAKA,EAAK,YAAc,EAAKA,EAAK,UAAY,EAC1E,CACA,SAASkB,GACPlB,EACAmB,EACAC,EACAC,EACAC,EACAC,EACA,CACA,IAAIC,EAAyBxB,EAAK,aAClCA,EAAK,aAAeoB,EACpBpB,EAAK,eAAiB,EACtBA,EAAK,YAAc,EACnBA,EAAK,UAAY,EACjBA,EAAK,cAAgBoB,EACrBpB,EAAK,gBAAkBoB,EACvBpB,EAAK,4BAA8BoB,EACnCpB,EAAK,oBAAsB,EAC3B,IAAIyB,EAAgBzB,EAAK,cACvB0B,EAAkB1B,EAAK,gBACvB2B,EAAgB3B,EAAK,cACvB,IACEoB,EAAiBI,EAAyB,CAACJ,EAC3C,EAAIA,GAEJ,CACA,IAAIQ,EAAU,GAAKvC,GAAM+B,CAAc,EACrCT,EAAO,GAAKiB,EACdH,EAAcG,CAAO,EAAI,EACzBF,EAAgBE,CAAO,EAAI,GAC3B,IAAIC,EAAuBF,EAAcC,CAAO,EAChD,GAAaC,IAAT,KACF,IACEF,EAAcC,CAAO,EAAI,KAAMA,EAAU,EACzCA,EAAUC,EAAqB,OAC/BD,IACA,CACA,IAAIE,EAASD,EAAqBD,CAAO,EAChCE,IAAT,OAAoBA,EAAO,MAAQ,WAC3C,CACIV,GAAkB,CAACT,CACvB,CACQU,IAAN,GAAqBU,GAAwB/B,EAAMqB,EAAa,CAAC,EAC3DE,IAAN,GACQD,IAAN,GACMtB,EAAK,MAAX,IACCA,EAAK,gBACJuB,EAAsB,EAAEC,EAAyB,CAACL,GACxD,CACA,SAASY,GAAwB/B,EAAMqB,EAAaW,EAAgB,CAClEhC,EAAK,cAAgBqB,EACrBrB,EAAK,gBAAkB,CAACqB,EACxB,IAAIY,EAAmB,GAAK5C,GAAMgC,CAAW,EAC7CrB,EAAK,gBAAkBqB,EACvBrB,EAAK,cAAciC,CAAgB,EACjCjC,EAAK,cAAciC,CAAgB,EACnC,WACCD,EAAiB,MACtB,CACA,SAASE,GAAkBlC,EAAMgC,EAAgB,CAC/C,IAAIG,EAAsBnC,EAAK,gBAAkBgC,EACjD,IAAKhC,EAAOA,EAAK,cAAemC,GAAsB,CACpD,IAAIC,EAAU,GAAK/C,GAAM8C,CAAkB,EACzCxB,EAAO,GAAKyB,EACbzB,EAAOqB,EAAmBhC,EAAKoC,CAAO,EAAIJ,IACxChC,EAAKoC,CAAO,GAAKJ,GACpBG,GAAsB,CAACxB,CAC3B,CACA,CACA,SAAS0B,GAA0BrC,EAAMS,EAAa,CACpD,IAAI6B,EAAa7B,EAAc,CAACA,EAChC,OAAA6B,EACSA,EAAa,GAAM,EAAIC,GAAgCD,CAAU,EAC5DA,GAActC,EAAK,eAAiBS,GAC9C,EACA6B,CACN,CACA,SAASC,GAAgC5B,EAAM,CAC7C,OAAQA,EAAI,CACV,IAAK,GACHA,EAAO,EACP,MACF,IAAK,GACHA,EAAO,EACP,MACF,IAAK,IACHA,EAAO,GACP,MACF,IAAK,KACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACHA,EAAO,IACP,MACF,IAAK,WACHA,EAAO,UACP,MACF,QACEA,EAAO,CACb,CACE,OAAOA,CACT,CACA,SAAS6B,GAAqB3C,EAAO,CACnC,OAAAA,GAAS,CAACA,EACH,EAAIA,EACP,EAAIA,EACKA,EAAQ,UACb,GACA,UACF,EACF,CACN,CACA,SAAS4C,IAAwB,CAC/B,IAAIC,EAAiBpH,EAAwB,EAC7C,OAAUoH,IAAN,EAA6BA,GACjCA,EAAiB,OAAO,MACNA,IAAX,OAA4B,GAAKC,GAAiBD,EAAe,IAAI,EAC9E,CACA,SAASE,GAAgBC,EAAUnQ,EAAI,CACrC,IAAIoQ,EAAmBxH,EAAwB,EAC/C,GAAI,CACF,OAAQA,EAAwB,EAAIuH,EAAWnQ,EAAE,CACrD,QAAG,CACC4I,EAAwB,EAAIwH,CAChC,CACA,CACA,IAAIC,GAAY,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,CAAC,EAChDC,GAAsB,gBAAkBD,GACxCE,GAAmB,gBAAkBF,GACrCG,GAA+B,oBAAsBH,GACrDI,GAA2B,iBAAmBJ,GAC9CK,GAAmC,oBAAsBL,GACzDM,GAA6B,kBAAoBN,GACjDO,GAA+B,oBAAsBP,GACrDQ,GAA0B,iBAAmBR,GAC/C,SAASS,GAAsB/O,EAAM,CACnC,OAAOA,EAAKuO,EAAmB,EAC/B,OAAOvO,EAAKwO,EAAgB,EAC5B,OAAOxO,EAAK0O,EAAwB,EACpC,OAAO1O,EAAK2O,EAAgC,EAC5C,OAAO3O,EAAK4O,EAA0B,CACxC,CACA,SAASI,GAA2BC,EAAY,CAC9C,IAAIC,EAAaD,EAAWV,EAAmB,EAC/C,GAAIW,EAAY,OAAOA,EACvB,QAASC,EAAaF,EAAW,WAAYE,GAAc,CACzD,GACGD,EACCC,EAAWV,EAA4B,GACvCU,EAAWZ,EAAmB,EAChC,CAEA,GADAY,EAAaD,EAAW,UAEbA,EAAW,QAApB,MACUC,IAAT,MAAgCA,EAAW,QAApB,KAExB,IACEF,EAAaG,GAA2BH,CAAU,EACzCA,IAAT,MAEA,CACA,GAAKE,EAAaF,EAAWV,EAAmB,EAAI,OAAOY,EAC3DF,EAAaG,GAA2BH,CAAU,CAC5D,CACM,OAAOC,CACb,CACID,EAAaE,EACbA,EAAaF,EAAW,UAC5B,CACE,OAAO,IACT,CACA,SAASI,GAAoBrP,EAAM,CACjC,GACGA,EAAOA,EAAKuO,EAAmB,GAAKvO,EAAKyO,EAA4B,EACtE,CACA,IAAInI,EAAMtG,EAAK,IACf,GACQsG,IAAN,GACMA,IAAN,GACOA,IAAP,IACOA,IAAP,IACOA,IAAP,IACOA,IAAP,IACMA,IAAN,EAEA,OAAOtG,CACb,CACE,OAAO,IACT,CACA,SAASsP,GAAoBC,EAAM,CACjC,IAAIjJ,EAAMiJ,EAAK,IACf,GAAUjJ,IAAN,GAAoBA,IAAP,IAAqBA,IAAP,IAAoBA,IAAN,EAAW,OAAOiJ,EAAK,UACpE,MAAM,MAAM3L,EAAuB,EAAE,CAAC,CACxC,CACA,SAAS4L,GAAqBjE,EAAM,CAClC,IAAIkE,EAAYlE,EAAKsD,EAA4B,EACjD,OAAAY,IACGA,EAAYlE,EAAKsD,EAA4B,EAC5C,CAAE,gBAAiB,IAAI,IAAO,iBAAkB,IAAI,MACjDY,CACT,CACA,SAASC,GAAoB1P,EAAM,CACjCA,EAAK8O,EAAuB,EAAI,EAClC,CACA,IAAIa,GAAkB,IAAI,IACxBC,GAA+B,CAAA,EACjC,SAASC,GAAsBC,EAAkBC,EAAc,CAC7DC,GAAoBF,EAAkBC,CAAY,EAClDC,GAAoBF,EAAmB,UAAWC,CAAY,CAChE,CACA,SAASC,GAAoBF,EAAkBC,EAAc,CAE3D,IADAH,GAA6BE,CAAgB,EAAIC,EAE/CD,EAAmB,EACnBA,EAAmBC,EAAa,OAChCD,IAEAH,GAAgB,IAAII,EAAaD,CAAgB,CAAC,CACtD,CACA,IAAIG,GAA6B,OAC7B,iZAEFC,GAA4B,CAAA,EAC5BC,GAA8B,CAAA,EAChC,SAASC,GAAoBC,EAAe,CAC1C,OAAIjV,GAAe,KAAK+U,GAA6BE,CAAa,EACzD,GACLjV,GAAe,KAAK8U,GAA2BG,CAAa,EAAU,GACtEJ,GAA2B,KAAKI,CAAa,EACvCF,GAA4BE,CAAa,EAAI,IACvDH,GAA0BG,CAAa,EAAI,GACpC,GACT,CACA,SAASC,GAAqBtQ,EAAMkI,EAAMhJ,EAAO,CAC/C,GAAIkR,GAAoBlI,CAAI,EAC1B,GAAahJ,IAAT,KAAgBc,EAAK,gBAAgBkI,CAAI,MACxC,CACH,OAAQ,OAAOhJ,EAAK,CAClB,IAAK,YACL,IAAK,WACL,IAAK,SACHc,EAAK,gBAAgBkI,CAAI,EACzB,OACF,IAAK,UACH,IAAIqI,EAAYrI,EAAK,YAAW,EAAG,MAAM,EAAG,CAAC,EAC7C,GAAgBqI,IAAZ,SAAqCA,IAAZ,QAAuB,CAClDvQ,EAAK,gBAAgBkI,CAAI,EACzB,MACZ,CACA,CACMlI,EAAK,aAAakI,EAAM,GAAKhJ,CAAK,CACxC,CACA,CACA,SAASsR,GAA0BxQ,EAAMkI,EAAMhJ,EAAO,CACpD,GAAaA,IAAT,KAAgBc,EAAK,gBAAgBkI,CAAI,MACxC,CACH,OAAQ,OAAOhJ,EAAK,CAClB,IAAK,YACL,IAAK,WACL,IAAK,SACL,IAAK,UACHc,EAAK,gBAAgBkI,CAAI,EACzB,MACR,CACIlI,EAAK,aAAakI,EAAM,GAAKhJ,CAAK,CACtC,CACA,CACA,SAASuR,GAA+BzQ,EAAM0Q,EAAWxI,EAAMhJ,EAAO,CACpE,GAAaA,IAAT,KAAgBc,EAAK,gBAAgBkI,CAAI,MACxC,CACH,OAAQ,OAAOhJ,EAAK,CAClB,IAAK,YACL,IAAK,WACL,IAAK,SACL,IAAK,UACHc,EAAK,gBAAgBkI,CAAI,EACzB,MACR,CACIlI,EAAK,eAAe0Q,EAAWxI,EAAM,GAAKhJ,CAAK,CACnD,CACA,CACA,SAASyR,GAAiBzR,EAAO,CAC/B,OAAQ,OAAOA,EAAK,CAClB,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAOA,EACT,IAAK,SACH,OAAOA,EACT,QACE,MAAO,EACb,CACA,CACA,SAAS0R,GAAYC,EAAM,CACzB,IAAI7X,EAAO6X,EAAK,KAChB,OACGA,EAAOA,EAAK,WACDA,EAAK,YAAW,IAA5B,UACgB7X,IAAf,YAAmCA,IAAZ,QAE5B,CACA,SAAS8X,GAAiB9Q,EAAM+Q,EAAYC,EAAc,CACxD,IAAIC,EAAa,OAAO,yBACtBjR,EAAK,YAAY,UACjB+Q,GAEF,GACE,CAAC/Q,EAAK,eAAe+Q,CAAU,GACf,OAAOE,EAAvB,KACe,OAAOA,EAAW,KAAjC,YACe,OAAOA,EAAW,KAAjC,WACA,CACA,IAAIC,EAAMD,EAAW,IACnBE,EAAMF,EAAW,IACnB,cAAO,eAAejR,EAAM+Q,EAAY,CACtC,aAAc,GACd,IAAK,UAAY,CACf,OAAOG,EAAI,KAAK,IAAI,CAC5B,EACM,IAAK,SAAUhS,EAAO,CACpB8R,EAAe,GAAK9R,EACpBiS,EAAI,KAAK,KAAMjS,CAAK,CAC5B,CACA,CAAK,EACD,OAAO,eAAec,EAAM+Q,EAAY,CACtC,WAAYE,EAAW,UAC7B,CAAK,EACM,CACL,SAAU,UAAY,CACpB,OAAOD,CACf,EACM,SAAU,SAAU9R,EAAO,CACzB8R,EAAe,GAAK9R,CAC5B,EACM,aAAc,UAAY,CACxBc,EAAK,cAAgB,KACrB,OAAOA,EAAK+Q,CAAU,CAC9B,EAEA,CACA,CACA,SAASK,GAAMpR,EAAM,CACnB,GAAI,CAACA,EAAK,cAAe,CACvB,IAAI+Q,EAAaH,GAAY5Q,CAAI,EAAI,UAAY,QACjDA,EAAK,cAAgB8Q,GACnB9Q,EACA+Q,EACA,GAAK/Q,EAAK+Q,CAAU,EAE1B,CACA,CACA,SAASM,GAAqBrR,EAAM,CAClC,GAAI,CAACA,EAAM,MAAO,GAClB,IAAIsR,EAAUtR,EAAK,cACnB,GAAI,CAACsR,EAAS,MAAO,GACrB,IAAIC,EAAYD,EAAQ,SAAQ,EAC5BpS,EAAQ,GACZ,OAAAc,IACGd,EAAQ0R,GAAY5Q,CAAI,EACrBA,EAAK,QACH,OACA,QACFA,EAAK,OACXA,EAAOd,EACAc,IAASuR,GAAaD,EAAQ,SAAStR,CAAI,EAAG,IAAM,EAC7D,CACA,SAASwR,GAAiBC,EAAK,CAE7B,GADAA,EAAMA,IAAwB,OAAO,SAAvB,IAAkC,SAAW,QACvC,OAAOA,EAAvB,IAA4B,OAAO,KACvC,GAAI,CACF,OAAOA,EAAI,eAAiBA,EAAI,IACpC,MAAc,CACV,OAAOA,EAAI,IACf,CACA,CACA,IAAIC,GAAsD,WAC1D,SAASC,GAA+CzS,EAAO,CAC7D,OAAOA,EAAM,QACXwS,GACA,SAAUE,EAAI,CACZ,MAAO,KAAOA,EAAG,WAAW,CAAC,EAAE,SAAS,EAAE,EAAI,GACpD,EAEA,CACA,SAASC,GACP5V,EACAiD,EACAf,EACA2T,EACAC,EACAC,EACAhZ,EACAkP,EACA,CACAjM,EAAQ,KAAO,GACPjD,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACc,OAAOA,GAArB,UACKiD,EAAQ,KAAOjD,EAChBiD,EAAQ,gBAAgB,MAAM,EACtBiD,GAAR,KACelG,IAAb,UACSkG,IAAN,GAAsBjD,EAAQ,QAAf,IAAyBA,EAAQ,OAASiD,KAC5DjD,EAAQ,MAAQ,GAAK0U,GAAiBzR,CAAK,GAE7CjD,EAAQ,QAAU,GAAK0U,GAAiBzR,CAAK,IAC1CjD,EAAQ,MAAQ,GAAK0U,GAAiBzR,CAAK,GAElClG,IAAb,UAAiCA,IAAZ,SAAqBiD,EAAQ,gBAAgB,OAAO,EACpEiD,GAAR,KACI+S,GAAgBhW,EAASjD,EAAM2X,GAAiBzR,CAAK,CAAC,EAC9Cf,GAAR,KACE8T,GAAgBhW,EAASjD,EAAM2X,GAAiBxS,CAAY,CAAC,EACrD2T,GAAR,MAA4B7V,EAAQ,gBAAgB,OAAO,EACzD8V,GAAR,MACUC,GAAR,OACC/V,EAAQ,eAAiB,CAAC,CAAC+V,GACtBD,GAAR,OACG9V,EAAQ,QACP8V,GAA0B,OAAOA,GAAtB,YAA8C,OAAOA,GAApB,UACxC7J,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACc,OAAOA,GAArB,UACKjM,EAAQ,KAAO,GAAK0U,GAAiBzI,CAAI,EAC1CjM,EAAQ,gBAAgB,MAAM,CACpC,CACA,SAASiW,GACPjW,EACAiD,EACAf,EACA4T,EACAC,EACAhZ,EACAkP,EACAiK,EACA,CAMA,GALQnZ,GAAR,MACiB,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACc,OAAOA,GAArB,YACCiD,EAAQ,KAAOjD,GACNkG,GAAR,MAAyBf,GAAR,KAAsB,CACzC,GACE,EACgBnF,IAAb,UAAiCA,IAAZ,SACQkG,GAAT,MAEvB,CACAkS,GAAMnV,CAAO,EACb,MACN,CACIkC,EACUA,GAAR,KAAuB,GAAKwS,GAAiBxS,CAAY,EAAI,GAC/De,EAAgBA,GAAR,KAAgB,GAAKyR,GAAiBzR,CAAK,EAAIf,EACvDgU,GAAejT,IAAUjD,EAAQ,QAAUA,EAAQ,MAAQiD,GAC3DjD,EAAQ,aAAeiD,CAC3B,CACE6S,EAAkBA,GAAoBC,EACtCD,EACiB,OAAOA,GAAtB,YAA8C,OAAOA,GAApB,UAA+B,CAAC,CAACA,EACpE9V,EAAQ,QAAUkW,EAAclW,EAAQ,QAAU,CAAC,CAAC8V,EACpD9V,EAAQ,eAAiB,CAAC,CAAC8V,EACnB7J,GAAR,MACiB,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACc,OAAOA,GAArB,YACCjM,EAAQ,KAAOiM,GAClBkJ,GAAMnV,CAAO,CACf,CACA,SAASgW,GAAgBjS,EAAMhH,EAAMkG,EAAO,CAC5BlG,IAAb,UAAqBwY,GAAiBxR,EAAK,aAAa,IAAMA,GAC7DA,EAAK,eAAiB,GAAKd,IAC1Bc,EAAK,aAAe,GAAKd,EAC9B,CACA,SAASkT,GAAcpS,EAAMqS,EAAUC,EAAWC,EAAoB,CAEpE,GADAvS,EAAOA,EAAK,QACRqS,EAAU,CACZA,EAAW,CAAA,EACX,QAAStV,EAAI,EAAGA,EAAIuV,EAAU,OAAQvV,IACpCsV,EAAS,IAAMC,EAAUvV,CAAC,CAAC,EAAI,GACjC,IAAKuV,EAAY,EAAGA,EAAYtS,EAAK,OAAQsS,IAC1CvV,EAAIsV,EAAS,eAAe,IAAMrS,EAAKsS,CAAS,EAAE,KAAK,EACtDtS,EAAKsS,CAAS,EAAE,WAAavV,IAAMiD,EAAKsS,CAAS,EAAE,SAAWvV,GAC9DA,GAAKwV,IAAuBvS,EAAKsS,CAAS,EAAE,gBAAkB,GACtE,KAAS,CAGL,IAFAA,EAAY,GAAK3B,GAAiB2B,CAAS,EAC3CD,EAAW,KACNtV,EAAI,EAAGA,EAAIiD,EAAK,OAAQjD,IAAK,CAChC,GAAIiD,EAAKjD,CAAC,EAAE,QAAUuV,EAAW,CAC/BtS,EAAKjD,CAAC,EAAE,SAAW,GACnBwV,IAAuBvS,EAAKjD,CAAC,EAAE,gBAAkB,IACjD,MACR,CACesV,IAAT,MAAqBrS,EAAKjD,CAAC,EAAE,WAAasV,EAAWrS,EAAKjD,CAAC,EACjE,CACasV,IAAT,OAAsBA,EAAS,SAAW,GAC9C,CACA,CACA,SAASG,GAAevW,EAASiD,EAAOf,EAAc,CACpD,GACUe,GAAR,OACEA,EAAQ,GAAKyR,GAAiBzR,CAAK,EACrCA,IAAUjD,EAAQ,QAAUA,EAAQ,MAAQiD,GACpCf,GAAR,MACA,CACAlC,EAAQ,eAAiBiD,IAAUjD,EAAQ,aAAeiD,GAC1D,MACJ,CACEjD,EAAQ,aACEkC,GAAR,KAAuB,GAAKwS,GAAiBxS,CAAY,EAAI,EACjE,CACA,SAASsU,GAAaxW,EAASiD,EAAOf,EAAc3B,EAAU,CAC5D,GAAY0C,GAAR,KAAe,CACjB,GAAY1C,GAAR,KAAkB,CACpB,GAAY2B,GAAR,KAAsB,MAAM,MAAMyF,EAAuB,EAAE,CAAC,EAChE,GAAI3I,GAAYuB,CAAQ,EAAG,CACzB,GAAI,EAAIA,EAAS,OAAQ,MAAM,MAAMoH,EAAuB,EAAE,CAAC,EAC/DpH,EAAWA,EAAS,CAAC,CAC7B,CACM2B,EAAe3B,CACrB,CACY2B,GAAR,OAAyBA,EAAe,IACxCe,EAAQf,CACZ,CACEA,EAAewS,GAAiBzR,CAAK,EACrCjD,EAAQ,aAAekC,EACvB3B,EAAWP,EAAQ,YACnBO,IAAa2B,GACJ3B,IAAP,IACSA,IAAT,OACCP,EAAQ,MAAQO,GACnB4U,GAAMnV,CAAO,CACf,CACA,SAASyW,GAAe1S,EAAM2S,EAAM,CAClC,GAAIA,EAAM,CACR,IAAIC,EAAa5S,EAAK,WACtB,GACE4S,GACAA,IAAe5S,EAAK,WACd4S,EAAW,WAAjB,EACA,CACAA,EAAW,UAAYD,EACvB,MACN,CACA,CACE3S,EAAK,YAAc2S,CACrB,CACA,IAAIE,GAAkB,IAAI,IACxB,26BAA26B,MACz6B,GACJ,GAEA,SAASC,GAAiBC,EAAOC,EAAW9T,EAAO,CACjD,IAAI+T,EAAyBD,EAAU,QAAQ,IAAI,IAA5B,EACf9T,GAAR,MAA+B,OAAOA,GAArB,WAAqCA,IAAP,GAC3C+T,EACEF,EAAM,YAAYC,EAAW,EAAE,EACnBA,IAAZ,QACGD,EAAM,SAAW,GACjBA,EAAMC,CAAS,EAAI,GACxBC,EACEF,EAAM,YAAYC,EAAW9T,CAAK,EACrB,OAAOA,GAApB,UACQA,IAAN,GACA2T,GAAgB,IAAIG,CAAS,EACjBA,IAAZ,QACGD,EAAM,SAAW7T,EACjB6T,EAAMC,CAAS,GAAK,GAAK9T,GAAO,KAAI,EACtC6T,EAAMC,CAAS,EAAI9T,EAAQ,IACtC,CACA,SAASgU,GAAkBlT,EAAMmT,EAAQC,EAAY,CACnD,GAAYD,GAAR,MAA+B,OAAOA,GAApB,SACpB,MAAM,MAAMvP,EAAuB,EAAE,CAAC,EAExC,GADA5D,EAAOA,EAAK,MACAoT,GAAR,KAAoB,CACtB,QAASJ,KAAaI,EACpB,CAACA,EAAW,eAAeJ,CAAS,GACzBG,GAAR,MAAkBA,EAAO,eAAeH,CAAS,IAC3CA,EAAU,QAAQ,IAAI,IAA5B,EACGhT,EAAK,YAAYgT,EAAW,EAAE,EAClBA,IAAZ,QACGhT,EAAK,SAAW,GAChBA,EAAKgT,CAAS,EAAI,IAC7B,QAASK,KAAgBF,EACtBH,EAAYG,EAAOE,CAAY,EAC9BF,EAAO,eAAeE,CAAY,GAChCD,EAAWC,CAAY,IAAML,GAC7BF,GAAiB9S,EAAMqT,EAAcL,CAAS,CACxD,KACI,SAASM,KAAgBH,EACvBA,EAAO,eAAeG,CAAY,GAChCR,GAAiB9S,EAAMsT,EAAcH,EAAOG,CAAY,CAAC,CACjE,CACA,SAASC,GAAgBC,EAAS,CAChC,GAAWA,EAAQ,QAAQ,GAAG,IAA1B,GAA6B,MAAO,GACxC,OAAQA,EAAO,CACb,IAAK,iBACL,IAAK,gBACL,IAAK,YACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,gBACH,MAAO,GACT,QACE,MAAO,EACb,CACA,CACA,IAAIC,GAAU,IAAI,IAAI,CAClB,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,UAAW,KAAK,EACjB,CAAC,YAAa,YAAY,EAC1B,CAAC,cAAe,aAAa,EAC7B,CAAC,eAAgB,eAAe,EAChC,CAAC,oBAAqB,oBAAoB,EAC1C,CAAC,aAAc,aAAa,EAC5B,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,YAAa,YAAY,EAC1B,CAAC,WAAY,WAAW,EACxB,CAAC,WAAY,WAAW,EACxB,CAAC,qBAAsB,qBAAqB,EAC5C,CAAC,4BAA6B,6BAA6B,EAC3D,CAAC,eAAgB,eAAe,EAChC,CAAC,iBAAkB,iBAAiB,EACpC,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,cAAe,cAAc,EAC9B,CAAC,WAAY,WAAW,EACxB,CAAC,aAAc,aAAa,EAC5B,CAAC,eAAgB,eAAe,EAChC,CAAC,aAAc,aAAa,EAC5B,CAAC,WAAY,WAAW,EACxB,CAAC,iBAAkB,kBAAkB,EACrC,CAAC,cAAe,cAAc,EAC9B,CAAC,YAAa,YAAY,EAC1B,CAAC,cAAe,cAAc,EAC9B,CAAC,aAAc,aAAa,EAC5B,CAAC,YAAa,YAAY,EAC1B,CAAC,6BAA8B,8BAA8B,EAC7D,CAAC,2BAA4B,4BAA4B,EACzD,CAAC,YAAa,aAAa,EAC3B,CAAC,eAAgB,gBAAgB,EACjC,CAAC,iBAAkB,iBAAiB,EACpC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,YAAa,YAAY,EAC1B,CAAC,YAAa,YAAY,EAC1B,CAAC,cAAe,cAAc,EAC9B,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,oBAAqB,oBAAoB,EAC1C,CAAC,aAAc,aAAa,EAC5B,CAAC,WAAY,UAAU,EACvB,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,kBAAmB,kBAAkB,EACtC,CAAC,iBAAkB,iBAAiB,EACpC,CAAC,YAAa,YAAY,EAC1B,CAAC,cAAe,cAAc,EAC9B,CAAC,wBAAyB,wBAAwB,EAClD,CAAC,yBAA0B,yBAAyB,EACpD,CAAC,kBAAmB,kBAAkB,EACtC,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,iBAAkB,iBAAiB,EACpC,CAAC,mBAAoB,mBAAmB,EACxC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,cAAe,cAAc,EAC9B,CAAC,aAAc,aAAa,EAC5B,CAAC,iBAAkB,iBAAiB,EACpC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,kBAAmB,kBAAkB,EACtC,CAAC,oBAAqB,oBAAoB,EAC1C,CAAC,qBAAsB,qBAAqB,EAC5C,CAAC,cAAe,cAAc,EAC9B,CAAC,eAAgB,eAAe,EAChC,CAAC,aAAc,cAAc,EAC7B,CAAC,cAAe,cAAc,EAC9B,CAAC,WAAY,WAAW,EACxB,CAAC,eAAgB,eAAe,EAChC,CAAC,gBAAiB,gBAAgB,EAClC,CAAC,eAAgB,eAAe,EAChC,CAAC,WAAY,YAAY,EACzB,CAAC,cAAe,eAAe,EAC/B,CAAC,cAAe,eAAe,EAC/B,CAAC,cAAe,cAAc,EAC9B,CAAC,cAAe,cAAc,EAC9B,CAAC,aAAc,aAAa,EAC5B,CAAC,UAAW,UAAU,CAC1B,CAAG,EACDC,GACE,2HACJ,SAASC,GAAY7P,EAAK,CACxB,OAAO4P,GAAqB,KAAK,GAAK5P,CAAG,EACrC,8FACAA,CACN,CACA,SAAS8P,IAAS,CAAA,CAClB,IAAIC,GAAwB,KAC5B,SAASC,GAAeC,EAAa,CACnC,OAAAA,EAAcA,EAAY,QAAUA,EAAY,YAAc,OAC9DA,EAAY,0BACTA,EAAcA,EAAY,yBAChBA,EAAY,WAAlB,EAA6BA,EAAY,WAAaA,CAC/D,CACA,IAAIC,GAAgB,KAClBC,GAAe,KACjB,SAASC,GAAqBC,EAAQ,CACpC,IAAIC,EAAmB/E,GAAoB8E,CAAM,EACjD,GAAIC,IAAqBD,EAASC,EAAiB,WAAY,CAC7D,IAAI3Z,EAAQ0Z,EAAO3F,EAAgB,GAAK,KACxCvO,EAAG,OAAUkU,EAASC,EAAiB,UAAYA,EAAiB,KAAI,CACtE,IAAK,QAYH,GAXAvC,GACEsC,EACA1Z,EAAM,MACNA,EAAM,aACNA,EAAM,aACNA,EAAM,QACNA,EAAM,eACNA,EAAM,KACNA,EAAM,MAER2Z,EAAmB3Z,EAAM,KACTA,EAAM,OAAlB,SAAkC2Z,GAAR,KAA0B,CACtD,IAAK3Z,EAAQ0Z,EAAQ1Z,EAAM,YAAcA,EAAQA,EAAM,WAQvD,IAPAA,EAAQA,EAAM,iBACZ,eACEkX,GACE,GAAKyC,GAEP,oBAGFA,EAAmB,EACnBA,EAAmB3Z,EAAM,OACzB2Z,IACA,CACA,IAAIC,EAAY5Z,EAAM2Z,CAAgB,EACtC,GAAIC,IAAcF,GAAUE,EAAU,OAASF,EAAO,KAAM,CAC1D,IAAIG,EAAaD,EAAU7F,EAAgB,GAAK,KAChD,GAAI,CAAC8F,EAAY,MAAM,MAAM1Q,EAAuB,EAAE,CAAC,EACvDiO,GACEwC,EACAC,EAAW,MACXA,EAAW,aACXA,EAAW,aACXA,EAAW,QACXA,EAAW,eACXA,EAAW,KACXA,EAAW,KAE3B,CACA,CACU,IACEF,EAAmB,EACnBA,EAAmB3Z,EAAM,OACzB2Z,IAECC,EAAY5Z,EAAM2Z,CAAgB,EACjCC,EAAU,OAASF,EAAO,MAAQ9C,GAAqBgD,CAAS,CAC9E,CACQ,MAAMpU,EACR,IAAK,WACHuS,GAAe2B,EAAQ1Z,EAAM,MAAOA,EAAM,YAAY,EACtD,MAAMwF,EACR,IAAK,SACFmU,EAAmB3Z,EAAM,MAChB2Z,GAAR,MACEhC,GAAc+B,EAAQ,CAAC,CAAC1Z,EAAM,SAAU2Z,EAAkB,EAAE,CACxE,CACA,CACA,CACA,IAAIG,GAAuB,GAC3B,SAASC,GAAiBvW,EAAIgC,EAAGa,EAAG,CAClC,GAAIyT,GAAsB,OAAOtW,EAAGgC,EAAGa,CAAC,EACxCyT,GAAuB,GACvB,GAAI,CACF,IAAI3M,EAA2B3J,EAAGgC,CAAC,EACnC,OAAO2H,CACX,QAAG,CACC,GACI2M,GAAuB,IAChBP,KAAT,MAAmCC,KAAT,QAGvBQ,GAAe,EAChBT,KACI/T,EAAI+T,GACL/V,EAAKgW,GACLA,GAAeD,GAAgB,KAChCE,GAAqBjU,CAAC,EACtBhC,IAEF,IAAKgC,EAAI,EAAGA,EAAIhC,EAAG,OAAQgC,IAAKiU,GAAqBjW,EAAGgC,CAAC,CAAC,CAClE,CACA,CACA,SAASyU,GAAYnF,EAAMO,EAAkB,CAC3C,IAAI6E,EAAYpF,EAAK,UACrB,GAAaoF,IAAT,KAAoB,OAAO,KAC/B,IAAIla,EAAQka,EAAUnG,EAAgB,GAAK,KAC3C,GAAa/T,IAAT,KAAgB,OAAO,KAC3Bka,EAAYla,EAAMqV,CAAgB,EAClC7P,EAAG,OAAQ6P,EAAgB,CACzB,IAAK,UACL,IAAK,iBACL,IAAK,gBACL,IAAK,uBACL,IAAK,cACL,IAAK,qBACL,IAAK,cACL,IAAK,qBACL,IAAK,YACL,IAAK,mBACL,IAAK,gBACFrV,EAAQ,CAACA,EAAM,YACZ8U,EAAOA,EAAK,KACb9U,EAAQ,EACM8U,IAAb,UACYA,IAAZ,SACaA,IAAb,UACeA,IAAf,aAEJA,EAAO,CAAC9U,EACR,MAAMwF,EACR,QACEsP,EAAO,EACb,CACE,GAAIA,EAAM,OAAO,KACjB,GAAIoF,GAA4B,OAAOA,GAAtB,WACf,MAAM,MACJ/Q,EAAuB,IAAKkM,EAAkB,OAAO6E,CAAS,GAElE,OAAOA,CACT,CACA,IAAIC,GAAY,EACI,OAAO,OAAvB,KACgB,OAAO,OAAO,SAA9B,KACgB,OAAO,OAAO,SAAS,cAAvC,KAEFC,GAAgC,GAClC,GAAID,GACF,GAAI,CACF,IAAIrR,GAAU,CAAA,EACd,OAAO,eAAeA,GAAS,UAAW,CACxC,IAAK,UAAY,CACfsR,GAAgC,EACxC,CACA,CAAK,EACD,OAAO,iBAAiB,OAAQtR,GAASA,EAAO,EAChD,OAAO,oBAAoB,OAAQA,GAASA,EAAO,CACvD,MAAc,CACVsR,GAAgC,EACpC,CACA,IAAItJ,GAAO,KACTuJ,GAAY,KACZC,GAAe,KACjB,SAASC,IAAU,CACjB,GAAID,GAAc,OAAOA,GACzB,IAAIE,EACFC,EAAaJ,GACbK,EAAcD,EAAW,OACzBE,EACAC,EAAW,UAAW9J,GAAOA,GAAK,MAAQA,GAAK,YAC/C+J,EAAYD,EAAS,OACvB,IACEJ,EAAQ,EACRA,EAAQE,GAAeD,EAAWD,CAAK,IAAMI,EAASJ,CAAK,EAC3DA,IACD,CACD,IAAIM,EAASJ,EAAcF,EAC3B,IACEG,EAAM,EACNA,GAAOG,GACPL,EAAWC,EAAcC,CAAG,IAAMC,EAASC,EAAYF,CAAG,EAC1DA,IACD,CACD,OAAQL,GAAeM,EAAS,MAAMJ,EAAO,EAAIG,EAAM,EAAIA,EAAM,MAAM,CACzE,CACA,SAASI,GAAiBzB,EAAa,CACrC,IAAI0B,EAAU1B,EAAY,QAC1B,mBAAcA,GACRA,EAAcA,EAAY,SACtBA,IAAN,GAA4B0B,IAAP,KAAmB1B,EAAc,KACrDA,EAAc0B,EACZ1B,IAAP,KAAuBA,EAAc,IAC9B,IAAMA,GAAsBA,IAAP,GAAqBA,EAAc,CACjE,CACA,SAAS2B,IAA0B,CACjC,MAAO,EACT,CACA,SAASC,IAA2B,CAClC,MAAO,EACT,CACA,SAASC,GAAqBC,EAAW,CACvC,SAASC,EACPC,EACAC,EACA9G,EACA6E,EACAkC,EACA,CACA,KAAK,WAAaF,EAClB,KAAK,YAAc7G,EACnB,KAAK,KAAO8G,EACZ,KAAK,YAAcjC,EACnB,KAAK,OAASkC,EACd,KAAK,cAAgB,KACrB,QAAS7c,KAAYyc,EACnBA,EAAU,eAAezc,CAAQ,IAC7B2c,EAAYF,EAAUzc,CAAQ,EAC/B,KAAKA,CAAQ,EAAI2c,EACdA,EAAUhC,CAAW,EACrBA,EAAY3a,CAAQ,GAC5B,YAAK,oBACK2a,EAAY,kBAApB,KACIA,EAAY,iBACLA,EAAY,cAAnB,IAEF2B,GACAC,GACJ,KAAK,qBAAuBA,GACrB,IACX,CACE,OAAArb,EAAOwb,EAAmB,UAAW,CACnC,eAAgB,UAAY,CAC1B,KAAK,iBAAmB,GACxB,IAAIpY,EAAQ,KAAK,YACjBA,IACGA,EAAM,eACHA,EAAM,eAAc,EACN,OAAOA,EAAM,aAA3B,YAA2CA,EAAM,YAAc,IAClE,KAAK,mBAAqBgY,GACnC,EACI,gBAAiB,UAAY,CAC3B,IAAIhY,EAAQ,KAAK,YACjBA,IACGA,EAAM,gBACHA,EAAM,gBAAe,EACP,OAAOA,EAAM,cAA3B,YACCA,EAAM,aAAe,IACzB,KAAK,qBAAuBgY,GACrC,EACI,QAAS,UAAY,CAAA,EACrB,aAAcA,EAClB,CAAG,EACMI,CACT,CACA,IAAII,GAAiB,CACjB,WAAY,EACZ,QAAS,EACT,WAAY,EACZ,UAAW,SAAUxY,EAAO,CAC1B,OAAOA,EAAM,WAAa,KAAK,IAAG,CACxC,EACI,iBAAkB,EAClB,UAAW,GAEbyY,GAAiBP,GAAqBM,EAAc,EACpDE,GAAmB9b,EAAO,CAAA,EAAI4b,GAAgB,CAAE,KAAM,EAAG,OAAQ,EAAG,EACpEG,GAAmBT,GAAqBQ,EAAgB,EACxDE,GACAC,GACAC,GACAC,GAAsBnc,EAAO,CAAA,EAAI8b,GAAkB,CACjD,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,MAAO,EACP,MAAO,EACP,QAAS,EACT,SAAU,EACV,OAAQ,EACR,QAAS,EACT,iBAAkBM,GAClB,OAAQ,EACR,QAAS,EACT,cAAe,SAAUhZ,EAAO,CAC9B,OAAkBA,EAAM,gBAAjB,OACHA,EAAM,cAAgBA,EAAM,WAC1BA,EAAM,UACNA,EAAM,YACRA,EAAM,aAChB,EACI,UAAW,SAAUA,EAAO,CAC1B,MAAI,cAAeA,EAAcA,EAAM,WACvCA,IAAU8Y,KACPA,IAAkC9Y,EAAM,OAAtB,aACb4Y,GAAgB5Y,EAAM,QAAU8Y,GAAe,QAChDD,GAAgB7Y,EAAM,QAAU8Y,GAAe,SAC/CD,GAAgBD,GAAgB,EACpCE,GAAiB9Y,GACb4Y,GACb,EACI,UAAW,SAAU5Y,EAAO,CAC1B,MAAO,cAAeA,EAAQA,EAAM,UAAY6Y,EACtD,CACA,CAAG,EACDI,GAAsBf,GAAqBa,EAAmB,EAC9DG,GAAqBtc,EAAO,CAAA,EAAImc,GAAqB,CAAE,aAAc,EAAG,EACxEI,GAAqBjB,GAAqBgB,EAAkB,EAC5DE,GAAsBxc,EAAO,CAAA,EAAI8b,GAAkB,CAAE,cAAe,EAAG,EACvEW,GAAsBnB,GAAqBkB,EAAmB,EAC9DE,GAA0B1c,EAAO,CAAA,EAAI4b,GAAgB,CACnD,cAAe,EACf,YAAa,EACb,cAAe,CACnB,CAAG,EACDe,GAA0BrB,GAAqBoB,EAAuB,EACtEE,GAA0B5c,EAAO,CAAA,EAAI4b,GAAgB,CACnD,cAAe,SAAUxY,EAAO,CAC9B,MAAO,kBAAmBA,EACtBA,EAAM,cACN,OAAO,aACjB,CACA,CAAG,EACDyZ,GAA0BvB,GAAqBsB,EAAuB,EACtEE,GAA4B9c,EAAO,CAAA,EAAI4b,GAAgB,CAAE,KAAM,EAAG,EAClEmB,GAA4BzB,GAAqBwB,EAAyB,EAC1EE,GAAe,CACb,IAAK,SACL,SAAU,IACV,KAAM,YACN,GAAI,UACJ,MAAO,aACP,KAAM,YACN,IAAK,SACL,IAAK,KACL,KAAM,cACN,KAAM,cACN,OAAQ,aACR,gBAAiB,gBAEnBC,GAAiB,CACf,EAAG,YACH,EAAG,MACH,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,UACJ,GAAI,MACJ,GAAI,QACJ,GAAI,WACJ,GAAI,SACJ,GAAI,IACJ,GAAI,SACJ,GAAI,WACJ,GAAI,MACJ,GAAI,OACJ,GAAI,YACJ,GAAI,UACJ,GAAI,aACJ,GAAI,YACJ,GAAI,SACJ,GAAI,SACJ,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,aACL,IAAK,QAEPC,GAAoB,CAClB,IAAK,SACL,QAAS,UACT,KAAM,UACN,MAAO,YAEX,SAASC,GAAoBC,EAAQ,CACnC,IAAI3D,EAAc,KAAK,YACvB,OAAOA,EAAY,iBACfA,EAAY,iBAAiB2D,CAAM,GAClCA,EAASF,GAAkBE,CAAM,GAChC,CAAC,CAAC3D,EAAY2D,CAAM,EACpB,EACR,CACA,SAAShB,IAAwB,CAC/B,OAAOe,EACT,CACA,IAAIE,GAAyBrd,EAAO,CAAA,EAAI8b,GAAkB,CACtD,IAAK,SAAUrC,EAAa,CAC1B,GAAIA,EAAY,IAAK,CACnB,IAAI5a,EAAMme,GAAavD,EAAY,GAAG,GAAKA,EAAY,IACvD,GAAuB5a,IAAnB,eAAwB,OAAOA,CAC3C,CACM,OAAsB4a,EAAY,OAA3B,YACDA,EAAcyB,GAAiBzB,CAAW,EACrCA,IAAP,GAAqB,QAAU,OAAO,aAAaA,CAAW,GAChDA,EAAY,OAA1B,WAA8CA,EAAY,OAAxB,QAChCwD,GAAexD,EAAY,OAAO,GAAK,eACvC,EACZ,EACI,KAAM,EACN,SAAU,EACV,QAAS,EACT,SAAU,EACV,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,iBAAkB2C,GAClB,SAAU,SAAUhZ,EAAO,CACzB,OAAsBA,EAAM,OAArB,WAA4B8X,GAAiB9X,CAAK,EAAI,CACnE,EACI,QAAS,SAAUA,EAAO,CACxB,OAAqBA,EAAM,OAApB,WAAwCA,EAAM,OAAlB,QAC/BA,EAAM,QACN,CACV,EACI,MAAO,SAAUA,EAAO,CACtB,OAAsBA,EAAM,OAArB,WACH8X,GAAiB9X,CAAK,EACRA,EAAM,OAApB,WAAwCA,EAAM,OAAlB,QAC1BA,EAAM,QACN,CACZ,CACA,CAAG,EACDka,GAAyBhC,GAAqB+B,EAAsB,EACpEE,GAAwBvd,EAAO,CAAA,EAAImc,GAAqB,CACtD,UAAW,EACX,MAAO,EACP,OAAQ,EACR,SAAU,EACV,mBAAoB,EACpB,MAAO,EACP,MAAO,EACP,MAAO,EACP,YAAa,EACb,UAAW,CACf,CAAG,EACDqB,GAAwBlC,GAAqBiC,EAAqB,EAClEE,GAAsBzd,EAAO,CAAA,EAAI8b,GAAkB,CACjD,QAAS,EACT,cAAe,EACf,eAAgB,EAChB,OAAQ,EACR,QAAS,EACT,QAAS,EACT,SAAU,EACV,iBAAkBM,EACtB,CAAG,EACDsB,GAAsBpC,GAAqBmC,EAAmB,EAC9DE,GAA2B3d,EAAO,CAAA,EAAI4b,GAAgB,CACpD,aAAc,EACd,YAAa,EACb,cAAe,CACnB,CAAG,EACDgC,GAA2BtC,GAAqBqC,EAAwB,EACxEE,GAAsB7d,EAAO,CAAA,EAAImc,GAAqB,CACpD,OAAQ,SAAU/Y,EAAO,CACvB,MAAO,WAAYA,EACfA,EAAM,OACN,gBAAiBA,EACf,CAACA,EAAM,YACP,CACZ,EACI,OAAQ,SAAUA,EAAO,CACvB,MAAO,WAAYA,EACfA,EAAM,OACN,gBAAiBA,EACf,CAACA,EAAM,YACP,eAAgBA,EACd,CAACA,EAAM,WACP,CACd,EACI,OAAQ,EACR,UAAW,CACf,CAAG,EACD0a,GAAsBxC,GAAqBuC,EAAmB,EAC9DE,GAAuB/d,EAAO,CAAA,EAAI4b,GAAgB,CAChD,SAAU,EACV,SAAU,CACd,CAAG,EACDoC,GAAuB1C,GAAqByC,EAAoB,EAChEE,GAAe,CAAC,EAAG,GAAI,GAAI,EAAE,EAC7BC,GAAyB5D,IAAa,qBAAsB,OAC5D6D,GAAe,KACjB7D,IACE,iBAAkB,WACjB6D,GAAe,SAAS,cAC3B,IAAIC,GAAuB9D,IAAa,cAAe,QAAU,CAAC6D,GAChEE,GACE/D,KACC,CAAC4D,IACCC,IAAgB,EAAIA,IAAgB,IAAMA,IAC/CG,GAAgB,IAChBC,GAAmB,GACrB,SAASC,GAAyBC,EAAchF,EAAa,CAC3D,OAAQgF,EAAY,CAClB,IAAK,QACH,OAAcR,GAAa,QAAQxE,EAAY,OAAO,IAA/C,GACT,IAAK,UACH,OAAeA,EAAY,UAApB,IACT,IAAK,WACL,IAAK,YACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACb,CACA,CACA,SAASiF,GAAuBjF,EAAa,CAC3C,OAAAA,EAAcA,EAAY,OACN,OAAOA,GAApB,UAAmC,SAAUA,EAChDA,EAAY,KACZ,IACN,CACA,IAAIkF,GAAc,GAClB,SAASC,GAA0BH,EAAchF,EAAa,CAC5D,OAAQgF,EAAY,CAClB,IAAK,iBACH,OAAOC,GAAuBjF,CAAW,EAC3C,IAAK,WACH,OAAWA,EAAY,QAAnB,GAAiC,MACrC8E,GAAmB,GACZD,IACT,IAAK,YACH,OACGG,EAAehF,EAAY,KAC5BgF,IAAiBH,IAAiBC,GAAmB,KAAOE,EAEhE,QACE,OAAO,IACb,CACA,CACA,SAASI,GAA4BJ,EAAchF,EAAa,CAC9D,GAAIkF,GACF,OAA4BF,IAArB,kBACJ,CAACP,IACAM,GAAyBC,EAAchF,CAAW,GAChDgF,EAAe/D,GAAO,EACvBD,GAAeD,GAAYvJ,GAAO,KAClC0N,GAAc,GACfF,GACA,KACN,OAAQA,EAAY,CAClB,IAAK,QACH,OAAO,KACT,IAAK,WACH,GACE,EAAEhF,EAAY,SAAWA,EAAY,QAAUA,EAAY,UAC1DA,EAAY,SAAWA,EAAY,OACpC,CACA,GAAIA,EAAY,MAAQ,EAAIA,EAAY,KAAK,OAC3C,OAAOA,EAAY,KACrB,GAAIA,EAAY,MAAO,OAAO,OAAO,aAAaA,EAAY,KAAK,CAC3E,CACM,OAAO,KACT,IAAK,iBACH,OAAO4E,IAAuC5E,EAAY,SAArB,KACjC,KACAA,EAAY,KAClB,QACE,OAAO,IACb,CACA,CACA,IAAIqF,GAAsB,CACxB,MAAO,GACP,KAAM,GACN,SAAU,GACV,iBAAkB,GAClB,MAAO,GACP,MAAO,GACP,OAAQ,GACR,SAAU,GACV,MAAO,GACP,OAAQ,GACR,IAAK,GACL,KAAM,GACN,KAAM,GACN,IAAK,GACL,KAAM,IAER,SAASC,GAAmBxI,EAAM,CAChC,IAAIyI,EAAWzI,GAAQA,EAAK,UAAYA,EAAK,SAAS,YAAW,EACjE,OAAmByI,IAAZ,QACH,CAAC,CAACF,GAAoBvI,EAAK,IAAI,EAChByI,IAAf,UAGN,CACA,SAASC,GACPC,EACAjK,EACAwE,EACAI,EACA,CACAH,GACIC,GACEA,GAAa,KAAKE,CAAM,EACvBF,GAAe,CAACE,CAAM,EACxBH,GAAgBG,EACrB5E,EAAOkK,GAA4BlK,EAAM,UAAU,EACnD,EAAIA,EAAK,SACLwE,EAAc,IAAIoC,GAClB,WACA,SACA,KACApC,EACAI,GAEFqF,EAAc,KAAK,CAAE,MAAOzF,EAAa,UAAWxE,CAAI,CAAE,EAC9D,CACA,IAAImK,GAAkB,KACpBC,GAAsB,KACxB,SAASC,GAAgBJ,EAAe,CACtCK,GAAqBL,EAAe,CAAC,CACvC,CACA,SAASM,GAAsB5K,EAAY,CACzC,IAAID,EAAaK,GAAoBJ,CAAU,EAC/C,GAAImC,GAAqBpC,CAAU,EAAG,OAAOC,CAC/C,CACA,SAAS6K,GAA4BhB,EAAc7J,EAAY,CAC7D,GAAiB6J,IAAb,SAA2B,OAAO7J,CACxC,CACA,IAAI8K,GAAwB,GAC5B,GAAIpF,GAAW,CACb,IAAIqF,GACJ,GAAIrF,GAAW,CACb,IAAIsF,GAAgC,YAAa,SACjD,GAAI,CAACA,GAA+B,CAClC,IAAIC,GAA4B,SAAS,cAAc,KAAK,EAC5DA,GAA0B,aAAa,UAAW,SAAS,EAC3DD,GACiB,OAAOC,GAA0B,SAAhD,UACR,CACIF,GAAsCC,EAC1C,MAASD,GAAsC,GAC7CD,GACEC,KACC,CAAC,SAAS,cAAgB,EAAI,SAAS,aAC5C,CACA,SAASG,IAA6B,CACpCV,KACGA,GAAgB,YAAY,mBAAoBW,EAAoB,EACpEV,GAAsBD,GAAkB,KAC7C,CACA,SAASW,GAAqBtG,EAAa,CACzC,GACcA,EAAY,eAAxB,SACA+F,GAAsBH,EAAmB,EACzC,CACA,IAAIH,EAAgB,CAAA,EACpBD,GACEC,EACAG,GACA5F,EACAD,GAAeC,CAAW,GAE5BS,GAAiBoF,GAAiBJ,CAAa,CACnD,CACA,CACA,SAASc,GAAkCvB,EAAc5E,EAAQjF,EAAY,CAC7D6J,IAAd,WACKqB,GAA0B,EAC1BV,GAAkBvF,EAClBwF,GAAsBzK,EACvBwK,GAAgB,YAAY,mBAAoBW,EAAoB,GACrDtB,IAAf,YAA+BqB,GAA0B,CAC/D,CACA,SAASG,GAAmCxB,EAAc,CACxD,GACwBA,IAAtB,mBACYA,IAAZ,SACcA,IAAd,UAEA,OAAOe,GAAsBH,EAAmB,CACpD,CACA,SAASa,GAA2BzB,EAAc7J,EAAY,CAC5D,GAAgB6J,IAAZ,QAA0B,OAAOe,GAAsB5K,CAAU,CACvE,CACA,SAASuL,GAAmC1B,EAAc7J,EAAY,CACpE,GAAgB6J,IAAZ,SAAyCA,IAAb,SAC9B,OAAOe,GAAsB5K,CAAU,CAC3C,CACA,SAASwL,GAAGvS,EAAGwS,EAAG,CAChB,OAAQxS,IAAMwS,IAAYxS,IAAN,GAAW,EAAIA,IAAM,EAAIwS,IAAQxS,IAAMA,GAAKwS,IAAMA,CACxE,CACA,IAAIC,GAA0B,OAAO,OAAO,IAA7B,WAAkC,OAAO,GAAKF,GAC7D,SAASG,GAAaC,EAAMC,EAAM,CAChC,GAAIH,GAASE,EAAMC,CAAI,EAAG,MAAO,GACjC,GACe,OAAOD,GAApB,UACSA,IAAT,MACa,OAAOC,GAApB,UACSA,IAAT,KAEA,MAAO,GACT,IAAIC,EAAQ,OAAO,KAAKF,CAAI,EAC1BG,EAAQ,OAAO,KAAKF,CAAI,EAC1B,GAAIC,EAAM,SAAWC,EAAM,OAAQ,MAAO,GAC1C,IAAKA,EAAQ,EAAGA,EAAQD,EAAM,OAAQC,IAAS,CAC7C,IAAIC,EAAaF,EAAMC,CAAK,EAC5B,GACE,CAAC7f,GAAe,KAAK2f,EAAMG,CAAU,GACrC,CAACN,GAASE,EAAKI,CAAU,EAAGH,EAAKG,CAAU,CAAC,EAE5C,MAAO,EACb,CACE,MAAO,EACT,CACA,SAASC,GAAYnb,EAAM,CACzB,KAAOA,GAAQA,EAAK,YAAcA,EAAOA,EAAK,WAC9C,OAAOA,CACT,CACA,SAASob,GAA0B7P,EAAM8P,EAAQ,CAC/C,IAAIrb,EAAOmb,GAAY5P,CAAI,EAC3BA,EAAO,EACP,QAAS+P,EAAStb,GAAQ,CACxB,GAAUA,EAAK,WAAX,EAAqB,CAEvB,GADAsb,EAAU/P,EAAOvL,EAAK,YAAY,OAC9BuL,GAAQ8P,GAAUC,GAAWD,EAC/B,MAAO,CAAE,KAAMrb,EAAM,OAAQqb,EAAS9P,CAAI,EAC5CA,EAAO+P,CACb,CACIrb,EAAG,CACD,KAAOD,GAAQ,CACb,GAAIA,EAAK,YAAa,CACpBA,EAAOA,EAAK,YACZ,MAAMC,CAChB,CACQD,EAAOA,EAAK,UACpB,CACMA,EAAO,MACb,CACIA,EAAOmb,GAAYnb,CAAI,CAC3B,CACA,CACA,SAASub,GAAaC,EAAWC,EAAW,CAC1C,OAAOD,GAAaC,EAChBD,IAAcC,EACZ,GACAD,GAAmBA,EAAU,WAAhB,EACX,GACAC,GAAmBA,EAAU,WAAhB,EACXF,GAAaC,EAAWC,EAAU,UAAU,EAC5C,aAAcD,EACZA,EAAU,SAASC,CAAS,EAC5BD,EAAU,wBACR,CAAC,EAAEA,EAAU,wBAAwBC,CAAS,EAAI,IAClD,GACV,EACN,CACA,SAASC,GAAqBzX,EAAe,CAC3CA,EACUA,GAAR,MACQA,EAAc,eAAtB,MACQA,EAAc,cAAc,aAApC,KACIA,EAAc,cAAc,YAC5B,OACN,QACMhI,EAAUuV,GAAiBvN,EAAc,QAAQ,EACrDhI,aAAmBgI,EAAc,mBAEjC,CACA,GAAI,CACF,IAAI2D,EACW,OAAO3L,EAAQ,cAAc,SAAS,MAAnD,QACR,MAAkB,CACZ2L,EAA2B,EACjC,CACI,GAAIA,EAA0B3D,EAAgBhI,EAAQ,kBACjD,OACLA,EAAUuV,GAAiBvN,EAAc,QAAQ,CACrD,CACE,OAAOhI,CACT,CACA,SAAS0f,GAAyB9K,EAAM,CACtC,IAAIyI,EAAWzI,GAAQA,EAAK,UAAYA,EAAK,SAAS,YAAW,EACjE,OACEyI,IACcA,IAAZ,UACYzI,EAAK,OAAhB,QACcA,EAAK,OAAlB,UACUA,EAAK,OAAf,OACUA,EAAK,OAAf,OACeA,EAAK,OAApB,aACayI,IAAf,YACWzI,EAAK,kBAAhB,OAEN,CACA,IAAI+K,GACAhH,IAAa,iBAAkB,UAAY,IAAM,SAAS,aAC5DiH,GAAgB,KAChBC,GAAoB,KACpBC,GAAgB,KAChBC,GAAY,GACd,SAASC,GAAqBzC,EAAezF,EAAakC,EAAmB,CAC3E,IAAIxE,EACFwE,EAAkB,SAAWA,EACzBA,EAAkB,SACZA,EAAkB,WAAxB,EACEA,EACAA,EAAkB,cAC1B+F,IACUH,IAAR,MACAA,KAAkBrK,GAAiBC,CAAG,IACpCA,EAAMoK,GACR,mBAAoBpK,GAAOkK,GAAyBlK,CAAG,EAClDA,EAAM,CAAE,MAAOA,EAAI,eAAgB,IAAKA,EAAI,YAAY,GACvDA,GACCA,EAAI,eAAiBA,EAAI,cAAc,aACxC,QACA,aAAY,EACbA,EAAM,CACL,WAAYA,EAAI,WAChB,aAAcA,EAAI,aAClB,UAAWA,EAAI,UACf,YAAaA,EAAI,WAC3B,GACKsK,IAAiBlB,GAAakB,GAAetK,CAAG,IAC7CsK,GAAgBtK,EACjBA,EAAMgI,GAA4BqC,GAAmB,UAAU,EAChE,EAAIrK,EAAI,SACJsC,EAAc,IAAIoC,GAClB,WACA,SACA,KACApC,EACAkC,GAEFuD,EAAc,KAAK,CAAE,MAAOzF,EAAa,UAAWtC,EAAK,EACxDsC,EAAY,OAAS8H,KAC9B,CACA,SAASK,GAAcC,EAAWC,EAAW,CAC3C,IAAIC,EAAW,CAAA,EACf,OAAAA,EAASF,EAAU,YAAW,CAAE,EAAIC,EAAU,YAAW,EACzDC,EAAS,SAAWF,CAAS,EAAI,SAAWC,EAC5CC,EAAS,MAAQF,CAAS,EAAI,MAAQC,EAC/BC,CACT,CACA,IAAIC,GAAiB,CACjB,aAAcJ,GAAc,YAAa,cAAc,EACvD,mBAAoBA,GAAc,YAAa,oBAAoB,EACnE,eAAgBA,GAAc,YAAa,gBAAgB,EAC3D,cAAeA,GAAc,aAAc,eAAe,EAC1D,gBAAiBA,GAAc,aAAc,iBAAiB,EAC9D,iBAAkBA,GAAc,aAAc,kBAAkB,EAChE,cAAeA,GAAc,aAAc,eAAe,GAE5DK,GAAqB,CAAA,EACrBxJ,GAAQ,CAAA,EACV6B,KACI7B,GAAQ,SAAS,cAAc,KAAK,EAAE,MACxC,mBAAoB,SACjB,OAAOuJ,GAAe,aAAa,UACpC,OAAOA,GAAe,mBAAmB,UACzC,OAAOA,GAAe,eAAe,WACvC,oBAAqB,QACnB,OAAOA,GAAe,cAAc,YACxC,SAASE,GAA2BJ,EAAW,CAC7C,GAAIG,GAAmBH,CAAS,EAAG,OAAOG,GAAmBH,CAAS,EACtE,GAAI,CAACE,GAAeF,CAAS,EAAG,OAAOA,EACvC,IAAIK,EAAYH,GAAeF,CAAS,EACtCD,EACF,IAAKA,KAAaM,EAChB,GAAIA,EAAU,eAAeN,CAAS,GAAKA,KAAapJ,GACtD,OAAQwJ,GAAmBH,CAAS,EAAIK,EAAUN,CAAS,EAC/D,OAAOC,CACT,CACA,IAAIM,GAAgBF,GAA2B,cAAc,EAC3DG,GAAsBH,GAA2B,oBAAoB,EACrEI,GAAkBJ,GAA2B,gBAAgB,EAC7DK,GAAiBL,GAA2B,eAAe,EAC3DM,GAAmBN,GAA2B,iBAAiB,EAC/DO,GAAoBP,GAA2B,kBAAkB,EACjEQ,GAAiBR,GAA2B,eAAe,EAC3DS,GAA6B,IAAI,IACjCC,GACE,mnBAAmnB,MACjnB,KAENA,GAAwB,KAAK,WAAW,EACxC,SAASC,GAAoBpE,EAAchD,EAAW,CACpDkH,GAA2B,IAAIlE,EAAchD,CAAS,EACtDlG,GAAsBkG,EAAW,CAACgD,CAAY,CAAC,CACjD,CACA,IAAItb,GACe,OAAO,aAAtB,WACI,YACA,SAAUnB,EAAO,CACf,GACe,OAAO,QAApB,UACe,OAAO,OAAO,YAA7B,WACA,CACA,IAAIoB,EAAQ,IAAI,OAAO,WAAW,QAAS,CACzC,QAAS,GACT,WAAY,GACZ,QACe,OAAOpB,GAApB,UACSA,IAAT,MACa,OAAOA,EAAM,SAA1B,SACI,OAAOA,EAAM,OAAO,EACpB,OAAOA,CAAK,EAClB,MAAOA,CACrB,CAAa,EACD,GAAI,CAAC,OAAO,cAAcoB,CAAK,EAAG,MAC9C,SACyB,OAAO,SAApB,UACe,OAAO,QAAQ,MAA9B,WACA,CACA,QAAQ,KAAK,oBAAqBpB,CAAK,EACvC,MACZ,CACU,QAAQ,MAAMA,CAAK,CAC7B,EACE8gB,GAAmB,CAAA,EACnBC,GAAwB,EACxBC,GAA2B,EAC7B,SAASC,IAAkC,CACzC,QACMC,EAAWH,GACbtgB,EAAKugB,GAA2BD,GAAwB,EAC1DtgB,EAAIygB,GAEJ,CACA,IAAIhY,EAAQ4X,GAAiBrgB,CAAC,EAC9BqgB,GAAiBrgB,GAAG,EAAI,KACxB,IAAI0gB,EAAQL,GAAiBrgB,CAAC,EAC9BqgB,GAAiBrgB,GAAG,EAAI,KACxB,IAAIsQ,EAAS+P,GAAiBrgB,CAAC,EAC/BqgB,GAAiBrgB,GAAG,EAAI,KACxB,IAAImP,EAAOkR,GAAiBrgB,CAAC,EAE7B,GADAqgB,GAAiBrgB,GAAG,EAAI,KACX0gB,IAAT,MAA2BpQ,IAAT,KAAiB,CACrC,IAAIqQ,EAAUD,EAAM,QACXC,IAAT,KACKrQ,EAAO,KAAOA,GACbA,EAAO,KAAOqQ,EAAQ,KAAQA,EAAQ,KAAOrQ,GACnDoQ,EAAM,QAAUpQ,CACtB,CACUnB,IAAN,GAAcyR,GAA8BnY,EAAO6H,EAAQnB,CAAI,CACnE,CACA,CACA,SAAS0R,GAAgBpY,EAAOiY,EAAOpQ,EAAQnB,EAAM,CACnDkR,GAAiBC,IAAuB,EAAI7X,EAC5C4X,GAAiBC,IAAuB,EAAII,EAC5CL,GAAiBC,IAAuB,EAAIhQ,EAC5C+P,GAAiBC,IAAuB,EAAInR,EAC5CoR,IAA4BpR,EAC5B1G,EAAM,OAAS0G,EACf1G,EAAQA,EAAM,UACLA,IAAT,OAAmBA,EAAM,OAAS0G,EACpC,CACA,SAAS2R,GAA4BrY,EAAOiY,EAAOpQ,EAAQnB,EAAM,CAC/D,OAAA0R,GAAgBpY,EAAOiY,EAAOpQ,EAAQnB,CAAI,EACnC4R,GAAuBtY,CAAK,CACrC,CACA,SAASuY,GAA+BvY,EAAO0G,EAAM,CACnD,OAAA0R,GAAgBpY,EAAO,KAAM,KAAM0G,CAAI,EAChC4R,GAAuBtY,CAAK,CACrC,CACA,SAASmY,GAA8BK,EAAa3Q,EAAQnB,EAAM,CAChE8R,EAAY,OAAS9R,EACrB,IAAIlG,EAAYgY,EAAY,UACnBhY,IAAT,OAAuBA,EAAU,OAASkG,GAC1C,QAAS+R,EAAW,GAAI9d,EAAS6d,EAAY,OAAiB7d,IAAT,MAClDA,EAAO,YAAc+L,EACnBlG,EAAY7F,EAAO,UACX6F,IAAT,OAAuBA,EAAU,YAAckG,GACxC/L,EAAO,MAAd,KACI6d,EAAc7d,EAAO,UACd6d,IAAT,MAAwBA,EAAY,YAAc,IAAMC,EAAW,KACpED,EAAc7d,EACdA,EAASA,EAAO,OACrB,OAAa6d,EAAY,MAAlB,GACD7d,EAAS6d,EAAY,UACvBC,GACW5Q,IAAT,OACE4Q,EAAW,GAAKrT,GAAMsB,CAAI,EAC3B8R,EAAc7d,EAAO,cACrB6F,EAAYgY,EAAYC,CAAQ,EACxBjY,IAAT,KACKgY,EAAYC,CAAQ,EAAI,CAAC5Q,CAAM,EAChCrH,EAAU,KAAKqH,CAAM,EACxBA,EAAO,KAAOnB,EAAO,WACxB/L,GACA,IACN,CACA,SAAS2d,GAAuBE,EAAa,CAC3C,GAAI,GAAKE,GACP,MACIA,GAAoB,EACrBC,GAAwB,KACzB,MAAMva,EAAuB,GAAG,CAAC,EAErC,QAASzD,EAAS6d,EAAY,OAAiB7d,IAAT,MACnC6d,EAAc7d,EAAUA,EAAS6d,EAAY,OAChD,OAAaA,EAAY,MAAlB,EAAwBA,EAAY,UAAY,IACzD,CACA,IAAII,GAAqB,CAAA,EACzB,SAASC,GAAU/X,EAAKgY,EAAcnlB,EAAKolB,EAAM,CAC/C,KAAK,IAAMjY,EACX,KAAK,IAAMnN,EACX,KAAK,QACH,KAAK,MACL,KAAK,OACL,KAAK,UACL,KAAK,KACL,KAAK,YACH,KACJ,KAAK,MAAQ,EACb,KAAK,WAAa,KAAK,IAAM,KAC7B,KAAK,aAAemlB,EACpB,KAAK,aACH,KAAK,cACL,KAAK,YACL,KAAK,cACH,KACJ,KAAK,KAAOC,EACZ,KAAK,aAAe,KAAK,MAAQ,EACjC,KAAK,UAAY,KACjB,KAAK,WAAa,KAAK,MAAQ,EAC/B,KAAK,UAAY,IACnB,CACA,SAASC,GAAqBlY,EAAKgY,EAAcnlB,EAAKolB,EAAM,CAC1D,OAAO,IAAIF,GAAU/X,EAAKgY,EAAcnlB,EAAKolB,CAAI,CACnD,CACA,SAASE,GAAgBjkB,EAAW,CAClC,OAAAA,EAAYA,EAAU,UACf,EAAE,CAACA,GAAa,CAACA,EAAU,iBACpC,CACA,SAASkkB,GAAqBC,EAASL,EAAc,CACnD,IAAI9U,EAAiBmV,EAAQ,UAC7B,OAASnV,IAAT,MACMA,EAAiBgV,GACjBG,EAAQ,IACRL,EACAK,EAAQ,IACRA,EAAQ,MAETnV,EAAe,YAAcmV,EAAQ,YACrCnV,EAAe,KAAOmV,EAAQ,KAC9BnV,EAAe,UAAYmV,EAAQ,UACnCnV,EAAe,UAAYmV,EAC3BA,EAAQ,UAAYnV,IACnBA,EAAe,aAAe8U,EAC/B9U,EAAe,KAAOmV,EAAQ,KAC9BnV,EAAe,MAAQ,EACvBA,EAAe,aAAe,EAC9BA,EAAe,UAAY,MAChCA,EAAe,MAAQmV,EAAQ,MAAQ,SACvCnV,EAAe,WAAamV,EAAQ,WACpCnV,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,cAAgBmV,EAAQ,cACvCnV,EAAe,cAAgBmV,EAAQ,cACvCnV,EAAe,YAAcmV,EAAQ,YACrCL,EAAeK,EAAQ,aACvBnV,EAAe,aACJ8U,IAAT,KACI,KACA,CAAE,MAAOA,EAAa,MAAO,aAAcA,EAAa,YAAY,EAC1E9U,EAAe,QAAUmV,EAAQ,QACjCnV,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,IAAMmV,EAAQ,IAC7BnV,EAAe,WAAamV,EAAQ,WAC7BnV,CACT,CACA,SAASoV,GAAoBpV,EAAgBwC,EAAa,CACxDxC,EAAe,OAAS,SACxB,IAAImV,EAAUnV,EAAe,UAC7B,OAASmV,IAAT,MACMnV,EAAe,WAAa,EAC7BA,EAAe,MAAQwC,EACvBxC,EAAe,MAAQ,KACvBA,EAAe,aAAe,EAC9BA,EAAe,cAAgB,KAC/BA,EAAe,cAAgB,KAC/BA,EAAe,YAAc,KAC7BA,EAAe,aAAe,KAC9BA,EAAe,UAAY,OAC1BA,EAAe,WAAamV,EAAQ,WACrCnV,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,aAAe,EAC9BA,EAAe,UAAY,KAC3BA,EAAe,cAAgBmV,EAAQ,cACvCnV,EAAe,cAAgBmV,EAAQ,cACvCnV,EAAe,YAAcmV,EAAQ,YACrCnV,EAAe,KAAOmV,EAAQ,KAC9B3S,EAAc2S,EAAQ,aACtBnV,EAAe,aACLwC,IAAT,KACI,KACA,CACE,MAAOA,EAAY,MACnB,aAAcA,EAAY,YACxC,GACSxC,CACT,CACA,SAASqV,GACP7lB,EACAG,EACAmlB,EACAQ,EACAP,EACAnT,EACA,CACA,IAAI2T,EAAW,EAEf,GADAD,EAAQ9lB,EACW,OAAOA,GAAtB,WAA4BylB,GAAgBzlB,CAAI,IAAM+lB,EAAW,WAC/C,OAAO/lB,GAApB,SACP+lB,EAAWC,GACThmB,EACAslB,EACApX,EAAmB,OACzB,EACQ,GACWlO,IAAX,QAA8BA,IAAX,QAA8BA,IAAX,OACpC,GACA,OAENiH,EAAG,OAAQjH,EAAI,CACb,KAAKiB,GACH,OACGjB,EAAOwlB,GAAqB,GAAIF,EAAcnlB,EAAKolB,CAAI,EACvDvlB,EAAK,YAAciB,GACnBjB,EAAK,MAAQoS,EACdpS,EAEJ,KAAKF,EACH,OAAOmmB,GAAwBX,EAAa,SAAUC,EAAMnT,EAAOjS,CAAG,EACxE,KAAKM,EACHslB,EAAW,EACXR,GAAQ,GACR,MACF,KAAK7kB,EACH,OACGV,EAAOwlB,GAAqB,GAAIF,EAAcnlB,EAAKolB,EAAO,CAAC,EAC3DvlB,EAAK,YAAcU,EACnBV,EAAK,MAAQoS,EACdpS,EAEJ,KAAKc,GACH,OACGd,EAAOwlB,GAAqB,GAAIF,EAAcnlB,EAAKolB,CAAI,EACvDvlB,EAAK,YAAcc,GACnBd,EAAK,MAAQoS,EACdpS,EAEJ,KAAKwN,GACH,OACGxN,EAAOwlB,GAAqB,GAAIF,EAAcnlB,EAAKolB,CAAI,EACvDvlB,EAAK,YAAcwN,GACnBxN,EAAK,MAAQoS,EACdpS,EAEJ,QACE,GAAiB,OAAOA,GAApB,UAAqCA,IAAT,KAC9B,OAAQA,EAAK,SAAQ,CACnB,KAAKY,EACHmlB,EAAW,GACX,MAAM9e,EACR,KAAKtG,GACHolB,EAAW,EACX,MAAM9e,EACR,KAAKpG,GACHklB,EAAW,GACX,MAAM9e,EACR,KAAKlG,EACHglB,EAAW,GACX,MAAM9e,EACR,KAAKjG,GACH+kB,EAAW,GACXD,EAAQ,KACR,MAAM7e,CACpB,CACQ8e,EAAW,GACXT,EAAe,MACb1a,EAAuB,IAAc5K,IAAT,KAAgB,OAAS,OAAOA,EAAM,EAAE,GAEtE8lB,EAAQ,IAChB,CACE,OAAA3lB,EAAMqlB,GAAqBO,EAAUT,EAAcnlB,EAAKolB,CAAI,EAC5DplB,EAAI,YAAcH,EAClBG,EAAI,KAAO2lB,EACX3lB,EAAI,MAAQiS,EACLjS,CACT,CACA,SAAS8lB,GAAwBC,EAAUX,EAAMnT,EAAOjS,EAAK,CAC3D,OAAA+lB,EAAWV,GAAqB,EAAGU,EAAU/lB,EAAKolB,CAAI,EACtDW,EAAS,MAAQ9T,EACV8T,CACT,CACA,SAASC,GAAoBC,EAASb,EAAMnT,EAAO,CACjD,OAAAgU,EAAUZ,GAAqB,EAAGY,EAAS,KAAMb,CAAI,EACrDa,EAAQ,MAAQhU,EACTgU,CACT,CACA,SAASC,GAAkCC,EAAgB,CACzD,IAAI9Z,EAAQgZ,GAAqB,GAAI,KAAM,KAAM,CAAC,EAClD,OAAAhZ,EAAM,UAAY8Z,EACX9Z,CACT,CACA,SAAS+Z,GAAsBC,EAAQjB,EAAMnT,EAAO,CAClD,OAAAmT,EAAOC,GACL,EACSgB,EAAO,WAAhB,KAA2BA,EAAO,SAAW,CAAA,EAC7CA,EAAO,IACPjB,GAEFA,EAAK,MAAQnT,EACbmT,EAAK,UAAY,CACf,cAAeiB,EAAO,cACtB,gBAAiB,KACjB,eAAgBA,EAAO,gBAElBjB,CACT,CACA,IAAIkB,GAAiB,IAAI,QACzB,SAASC,GAA2BxgB,EAAOygB,EAAQ,CACjD,GAAiB,OAAOzgB,GAApB,UAAsCA,IAAT,KAAgB,CAC/C,IAAI0gB,EAAWH,GAAe,IAAIvgB,CAAK,EACvC,OAAe0gB,IAAX,OAA4BA,GAChCD,EAAS,CACP,MAAOzgB,EACP,OAAQygB,EACR,MAAOpW,GAA4BoW,CAAM,GAE3CF,GAAe,IAAIvgB,EAAOygB,CAAM,EACzBA,EACX,CACE,MAAO,CACL,MAAOzgB,EACP,OAAQygB,EACR,MAAOpW,GAA4BoW,CAAM,EAE7C,CACA,IAAIE,GAAY,CAAA,EACdC,GAAiB,EACjBC,GAAmB,KACnBC,GAAgB,EAChBC,GAAU,CAAA,EACVC,GAAe,EACfC,GAAsB,KACtBC,GAAgB,EAChBC,GAAsB,GACxB,SAASC,GAAa9W,EAAgB+W,EAAe,CACnDV,GAAUC,IAAgB,EAAIE,GAC9BH,GAAUC,IAAgB,EAAIC,GAC9BA,GAAmBvW,EACnBwW,GAAgBO,CAClB,CACA,SAASC,GAAWhX,EAAgB+W,EAAerkB,EAAO,CACxD+jB,GAAQC,IAAc,EAAIE,GAC1BH,GAAQC,IAAc,EAAIG,GAC1BJ,GAAQC,IAAc,EAAIC,GAC1BA,GAAsB3W,EACtB,IAAIiX,EAAuBL,GAC3B5W,EAAiB6W,GACjB,IAAIK,EAAa,GAAK9V,GAAM6V,CAAoB,EAAI,EACpDA,GAAwB,EAAE,GAAKC,GAC/BxkB,GAAS,EACT,IAAIsE,EAAS,GAAKoK,GAAM2V,CAAa,EAAIG,EACzC,GAAI,GAAKlgB,EAAQ,CACf,IAAImgB,EAAuBD,EAAcA,EAAa,EACtDlgB,GACEigB,GACE,GAAKE,GAAwB,GAC/B,SAAS,EAAE,EACbF,IAAyBE,EACzBD,GAAcC,EACdP,GACG,GAAM,GAAKxV,GAAM2V,CAAa,EAAIG,EAClCxkB,GAASwkB,EACVD,EACFJ,GAAsB7f,EAASgJ,CACnC,MACK4W,GACE,GAAK5f,EAAWtE,GAASwkB,EAAcD,EACvCJ,GAAsB7W,CAC7B,CACA,SAASoX,GAAuBpX,EAAgB,CACrCA,EAAe,SAAxB,OACG8W,GAAa9W,EAAgB,CAAC,EAAGgX,GAAWhX,EAAgB,EAAG,CAAC,EACrE,CACA,SAASqX,GAAerX,EAAgB,CACtC,KAAOA,IAAmBuW,IACvBA,GAAmBF,GAAU,EAAEC,EAAc,EAC3CD,GAAUC,EAAc,EAAI,KAC5BE,GAAgBH,GAAU,EAAEC,EAAc,EAC1CD,GAAUC,EAAc,EAAI,KACjC,KAAOtW,IAAmB2W,IACvBA,GAAsBF,GAAQ,EAAEC,EAAY,EAC1CD,GAAQC,EAAY,EAAI,KACxBG,GAAsBJ,GAAQ,EAAEC,EAAY,EAC5CD,GAAQC,EAAY,EAAI,KACxBE,GAAgBH,GAAQ,EAAEC,EAAY,EACtCD,GAAQC,EAAY,EAAI,IAC/B,CACA,SAASY,GAA4BtX,EAAgBuX,EAAkB,CACrEd,GAAQC,IAAc,EAAIE,GAC1BH,GAAQC,IAAc,EAAIG,GAC1BJ,GAAQC,IAAc,EAAIC,GAC1BC,GAAgBW,EAAiB,GACjCV,GAAsBU,EAAiB,SACvCZ,GAAsB3W,CACxB,CACA,IAAIwX,GAAuB,KACzBC,GAAyB,KACzB9O,GAAc,GACd+O,GAAkB,KAClBC,GAAyB,GACzBC,GAA6B,MAAMxd,EAAuB,GAAG,CAAC,EAChE,SAASyd,GAAyB7b,EAAO,CACvC,IAAIlJ,EAAQ,MACVsH,EACE,IACA,EAAI,UAAU,QAAqB,UAAU,CAAC,IAAtB,QAA2B,UAAU,CAAC,EAC1D,OACA,OACJ,EACN,GAEE,MAAA0d,GAAoB5B,GAA2BpjB,EAAOkJ,CAAK,CAAC,EACtD4b,EACR,CACA,SAASG,GAA6B/b,EAAO,CAC3C,IAAIgc,EAAWhc,EAAM,UACnBxM,EAAOwM,EAAM,KACb/K,EAAQ+K,EAAM,cAGhB,OAFAgc,EAASjT,EAAmB,EAAI/I,EAChCgc,EAAShT,EAAgB,EAAI/T,EACrBzB,EAAI,CACV,IAAK,SACHyoB,GAA0B,SAAUD,CAAQ,EAC5CC,GAA0B,QAASD,CAAQ,EAC3C,MACF,IAAK,SACL,IAAK,SACL,IAAK,QACHC,GAA0B,OAAQD,CAAQ,EAC1C,MACF,IAAK,QACL,IAAK,QACH,IAAKxoB,EAAO,EAAGA,EAAO0oB,GAAgB,OAAQ1oB,IAC5CyoB,GAA0BC,GAAgB1oB,CAAI,EAAGwoB,CAAQ,EAC3D,MACF,IAAK,SACHC,GAA0B,QAASD,CAAQ,EAC3C,MACF,IAAK,MACL,IAAK,QACL,IAAK,OACHC,GAA0B,QAASD,CAAQ,EAC3CC,GAA0B,OAAQD,CAAQ,EAC1C,MACF,IAAK,UACHC,GAA0B,SAAUD,CAAQ,EAC5C,MACF,IAAK,QACHC,GAA0B,UAAWD,CAAQ,EAC7CtP,GACEsP,EACA/mB,EAAM,MACNA,EAAM,aACNA,EAAM,QACNA,EAAM,eACNA,EAAM,KACNA,EAAM,KACN,IAEF,MACF,IAAK,SACHgnB,GAA0B,UAAWD,CAAQ,EAC7C,MACF,IAAK,WACHC,GAA0B,UAAWD,CAAQ,EAC3C/O,GAAa+O,EAAU/mB,EAAM,MAAOA,EAAM,aAAcA,EAAM,QAAQ,CAC9E,CACEzB,EAAOyB,EAAM,SACC,OAAOzB,GAApB,UACc,OAAOA,GAApB,UACa,OAAOA,GAApB,UACFwoB,EAAS,cAAgB,GAAKxoB,GACvByB,EAAM,2BAAb,IACAknB,GAAsBH,EAAS,YAAaxoB,CAAI,GACnCyB,EAAM,SAAd,OACEgnB,GAA0B,eAAgBD,CAAQ,EACnDC,GAA0B,SAAUD,CAAQ,GACtC/mB,EAAM,UAAd,MAA0BgnB,GAA0B,SAAUD,CAAQ,EAC9D/mB,EAAM,aAAd,MACEgnB,GAA0B,YAAaD,CAAQ,EACzC/mB,EAAM,SAAd,OAA0B+mB,EAAS,QAAU5N,IAC5C4N,EAAW,IACXA,EAAW,GAChBA,GAAYH,GAAyB7b,EAAO,EAAE,CAChD,CACA,SAASoc,GAAoBpc,EAAO,CAClC,IAAKwb,GAAuBxb,EAAM,OAAQwb,IACxC,OAAQA,GAAqB,IAAG,CAC9B,IAAK,GACL,IAAK,IACL,IAAK,IACHG,GAAyB,GACzB,OACF,IAAK,IACL,IAAK,GACHA,GAAyB,GACzB,OACF,QACEH,GAAuBA,GAAqB,MACpD,CACA,CACA,SAASa,GAAkBrc,EAAO,CAChC,GAAIA,IAAUwb,GAAsB,MAAO,GAC3C,GAAI,CAAC7O,GAAa,OAAOyP,GAAoBpc,CAAK,EAAI2M,GAAc,GAAK,GACzE,IAAI7L,EAAMd,EAAM,IACdsc,EAWF,IAVKA,EAAwBxb,IAAN,GAAoBA,IAAP,OAC7Bwb,EAAwBxb,IAAN,KACpBwb,EAAkBtc,EAAM,KACtBsc,EACC,EAAaA,IAAX,QAA2CA,IAAb,WAChCC,GAAqBvc,EAAM,KAAMA,EAAM,aAAa,GAC1Dsc,EAAkB,CAACA,GAErBA,GAAmBb,IAA0BI,GAAyB7b,CAAK,EAC3Eoc,GAAoBpc,CAAK,EACdc,IAAP,GAAY,CAGd,GAFAd,EAAQA,EAAM,cACdA,EAAiBA,IAAT,KAAiBA,EAAM,WAAa,KACxC,CAACA,EAAO,MAAM,MAAM5B,EAAuB,GAAG,CAAC,EACnDqd,GACEe,GAAgDxc,CAAK,CAC3D,SAAoBc,IAAP,GAAY,CAGrB,GAFAd,EAAQA,EAAM,cACdA,EAAiBA,IAAT,KAAiBA,EAAM,WAAa,KACxC,CAACA,EAAO,MAAM,MAAM5B,EAAuB,GAAG,CAAC,EACnDqd,GACEe,GAAgDxc,CAAK,CAC3D,MACWc,IAAP,IACMA,EAAM2a,GACRgB,GAAiBzc,EAAM,IAAI,GACrBA,EAAQ0c,GACTA,GAA8C,KAC9CjB,GAAyBzb,GACzByb,GAAyB3a,GAC7B2a,GAAyBD,GACtBmB,GAAkB3c,EAAM,UAAU,WAAW,EAC7C,KACV,MAAO,EACT,CACA,SAAS4c,IAAsB,CAC7BnB,GAAyBD,GAAuB,KAChD7O,GAAc,EAChB,CACA,SAASkQ,IAAsC,CAC7C,IAAIC,EAAepB,GACnB,OAASoB,IAAT,OACYC,KAAT,KACIA,GAAsCD,EACvCC,GAAoC,KAAK,MACvCA,GACAD,GAELpB,GAAkB,MACdoB,CACT,CACA,SAAShB,GAAoBhlB,EAAO,CACzB4kB,KAAT,KACKA,GAAkB,CAAC5kB,CAAK,EACzB4kB,GAAgB,KAAK5kB,CAAK,CAChC,CACA,IAAIkmB,GAAcxb,EAAa,IAAI,EACjCyb,GAA4B,KAC5BC,GAAwB,KAC1B,SAASC,GAAaC,EAAeloB,EAASmoB,EAAW,CACvD/iB,EAAK0iB,GAAa9nB,EAAQ,aAAa,EACvCA,EAAQ,cAAgBmoB,CAC1B,CACA,SAASC,GAAYpoB,EAAS,CAC5BA,EAAQ,cAAgB8nB,GAAY,QACpCniB,EAAImiB,EAAW,CACjB,CACA,SAASO,GAAgC5iB,EAAQ6L,EAAagX,EAAiB,CAC7E,KAAgB7iB,IAAT,MAAmB,CACxB,IAAI6F,EAAY7F,EAAO,UAOvB,IANCA,EAAO,WAAa6L,KAAiBA,GAChC7L,EAAO,YAAc6L,EACdhG,IAAT,OAAuBA,EAAU,YAAcgG,IACtChG,IAAT,OACCA,EAAU,WAAagG,KAAiBA,IACxChG,EAAU,YAAcgG,GACzB7L,IAAW6iB,EAAiB,MAChC7iB,EAASA,EAAO,MACpB,CACA,CACA,SAAS8iB,GACPzZ,EACA0Z,EACAlX,EACAmX,EACA,CACA,IAAI3d,EAAQgE,EAAe,MAE3B,IADShE,IAAT,OAAmBA,EAAM,OAASgE,GAClBhE,IAAT,MAAkB,CACvB,IAAI4d,EAAO5d,EAAM,aACjB,GAAa4d,IAAT,KAAe,CACjB,IAAIC,EAAY7d,EAAM,MACtB4d,EAAOA,EAAK,aACZnjB,EAAG,KAAgBmjB,IAAT,MAAiB,CACzB,IAAIE,EAAaF,EACjBA,EAAO5d,EACP,QAASzI,EAAI,EAAGA,EAAImmB,EAAS,OAAQnmB,IACnC,GAAIumB,EAAW,UAAYJ,EAASnmB,CAAC,EAAG,CACtCqmB,EAAK,OAASpX,EACdsX,EAAaF,EAAK,UACTE,IAAT,OAAwBA,EAAW,OAAStX,GAC5C+W,GACEK,EAAK,OACLpX,EACAxC,GAEF2Z,IAA6BE,EAAY,MACzC,MAAMpjB,CAClB,CACQmjB,EAAOE,EAAW,IAC1B,CACA,SAAsB9d,EAAM,MAAb,GAAkB,CAE3B,GADA6d,EAAY7d,EAAM,OACL6d,IAAT,KAAoB,MAAM,MAAMzf,EAAuB,GAAG,CAAC,EAC/Dyf,EAAU,OAASrX,EACnBoX,EAAOC,EAAU,UACRD,IAAT,OAAkBA,EAAK,OAASpX,GAChC+W,GAAgCM,EAAWrX,EAAaxC,CAAc,EACtE6Z,EAAY,IAClB,MAAWA,EAAY7d,EAAM,MACzB,GAAa6d,IAAT,KAAoBA,EAAU,OAAS7d,MAEzC,KAAK6d,EAAY7d,EAAgB6d,IAAT,MAAsB,CAC5C,GAAIA,IAAc7Z,EAAgB,CAChC6Z,EAAY,KACZ,KACV,CAEQ,GADA7d,EAAQ6d,EAAU,QACL7d,IAAT,KAAgB,CAClBA,EAAM,OAAS6d,EAAU,OACzBA,EAAY7d,EACZ,KACV,CACQ6d,EAAYA,EAAU,MAC9B,CACI7d,EAAQ6d,CACZ,CACA,CACA,SAASE,GACP5E,EACAnV,EACAwC,EACAmX,EACA,CACAxE,EAAU,KACV,QACMxe,EAASqJ,EAAgBga,EAA6B,GACjDrjB,IAAT,MAEA,CACA,GAAI,CAACqjB,GACH,GAAWrjB,EAAO,MAAQ,OAASqjB,EAA6B,WAChDrjB,EAAO,MAAQ,OAAS,MAC1C,GAAWA,EAAO,MAAd,GAAmB,CACrB,IAAIsjB,EAAgBtjB,EAAO,UAC3B,GAAasjB,IAAT,KAAwB,MAAM,MAAM7f,EAAuB,GAAG,CAAC,EAEnE,GADA6f,EAAgBA,EAAc,cACjBA,IAAT,KAAwB,CAC1B,IAAI/oB,EAAUyF,EAAO,KACrBya,GAASza,EAAO,aAAa,MAAOsjB,EAAc,KAAK,IAC3C9E,IAAT,KAAmBA,EAAQ,KAAKjkB,CAAO,EAAKikB,EAAU,CAACjkB,CAAO,EACzE,CACA,SAAeyF,IAAWkH,GAA6B,QAAS,CAE1D,GADAoc,EAAgBtjB,EAAO,UACVsjB,IAAT,KAAwB,MAAM,MAAM7f,EAAuB,GAAG,CAAC,EACnE6f,EAAc,cAAc,gBAC1BtjB,EAAO,cAAc,gBACXwe,IAAT,KACGA,EAAQ,KAAK7W,EAAqB,EACjC6W,EAAU,CAAC7W,EAAqB,EAC7C,CACI3H,EAASA,EAAO,MACpB,CACWwe,IAAT,MACEsE,GACEzZ,EACAmV,EACA3S,EACAmX,GAEJ3Z,EAAe,OAAS,MAC1B,CACA,SAASka,GAAsBC,EAAqB,CAClD,IACEA,EAAsBA,EAAoB,aACjCA,IAAT,MAEA,CACA,GACE,CAAC/I,GACC+I,EAAoB,QAAQ,cAC5BA,EAAoB,aAC5B,EAEM,MAAO,GACTA,EAAsBA,EAAoB,IAC9C,CACE,MAAO,EACT,CACA,SAASC,GAAqBpa,EAAgB,CAC5CiZ,GAA4BjZ,EAC5BkZ,GAAwB,KACxBlZ,EAAiBA,EAAe,aACvBA,IAAT,OAA4BA,EAAe,aAAe,KAC5D,CACA,SAASqa,GAAYnpB,EAAS,CAC5B,OAAOopB,GAAuBrB,GAA2B/nB,CAAO,CAClE,CACA,SAASqpB,GAAgCC,EAAUtpB,EAAS,CAC1D,OAAS+nB,KAAT,MAAsCmB,GAAqBI,CAAQ,EAC5DF,GAAuBE,EAAUtpB,CAAO,CACjD,CACA,SAASopB,GAAuBE,EAAUtpB,EAAS,CACjD,IAAIwE,EAAQxE,EAAQ,cAEpB,GADAA,EAAU,CAAE,QAASA,EAAS,cAAewE,EAAO,KAAM,IAAI,EACjDwjB,KAAT,KAAgC,CAClC,GAAasB,IAAT,KAAmB,MAAM,MAAMpgB,EAAuB,GAAG,CAAC,EAC9D8e,GAAwBhoB,EACxBspB,EAAS,aAAe,CAAE,MAAO,EAAG,aAActpB,CAAO,EACzDspB,EAAS,OAAS,MACtB,MAAStB,GAAwBA,GAAsB,KAAOhoB,EAC5D,OAAOwE,CACT,CACA,IAAI+kB,GACgB,OAAO,gBAAvB,IACI,gBACA,UAAY,CACV,IAAIC,EAAY,CAAA,EACdC,EAAU,KAAK,OAAS,CACtB,QAAS,GACT,iBAAkB,SAAUnrB,EAAMorB,EAAU,CAC1CF,EAAU,KAAKE,CAAQ,CACvC,CACA,EACU,KAAK,MAAQ,UAAY,CACvBD,EAAO,QAAU,GACjBD,EAAU,QAAQ,SAAUE,EAAU,CACpC,OAAOA,EAAQ,CAC7B,CAAa,CACb,CACA,EACEC,GAAqBnf,EAAU,0BAC/Bof,GAAiBpf,EAAU,wBAC3Bqf,GAAe,CACb,SAAU3qB,EACV,SAAU,KACV,SAAU,KACV,cAAe,KACf,eAAgB,KAChB,aAAc,GAElB,SAAS4qB,IAAc,CACrB,MAAO,CACL,WAAY,IAAIP,GAChB,KAAM,IAAI,IACV,SAAU,EAEd,CACA,SAASQ,GAAaC,EAAO,CAC3BA,EAAM,WACAA,EAAM,WAAZ,GACEL,GAAmBC,GAAgB,UAAY,CAC7CI,EAAM,WAAW,MAAK,CAC5B,CAAK,CACL,CACA,IAAIC,GAA4B,KAC9BC,GAA+B,EAC/BC,GAAuB,EACvBC,GAAiC,KACnC,SAASC,GAAoBC,EAAY5oB,EAAU,CACjD,GAAauoB,KAAT,KAAoC,CACtC,IAAIM,EAAsBN,GAA4B,GACtDC,GAA+B,EAC/BC,GAAuBK,GAAqB,EAC5CJ,GAAiC,CAC/B,OAAQ,UACR,MAAO,OACP,KAAM,SAAUK,EAAS,CACvBF,EAAmB,KAAKE,CAAO,CACvC,EAEA,CACE,OAAAP,KACAxoB,EAAS,KAAKgpB,GAA2BA,EAAyB,EAC3DhpB,CACT,CACA,SAASgpB,IAA4B,CACnC,GACQ,EAAER,KAAR,GACSD,KAAT,KACA,CACSG,KAAT,OACGA,GAA+B,OAAS,aAC3C,IAAIZ,EAAYS,GAChBA,GAA4B,KAC5BE,GAAuB,EACvBC,GAAiC,KACjC,QAAS/nB,EAAI,EAAGA,EAAImnB,EAAU,OAAQnnB,OAASmnB,EAAUnnB,CAAC,GAAC,CAC/D,CACA,CACA,SAASsoB,GAAmBjpB,EAAUc,EAAQ,CAC5C,IAAIgnB,EAAY,CAAA,EACdoB,EAAuB,CACrB,OAAQ,UACR,MAAO,KACP,OAAQ,KACR,KAAM,SAAUH,EAAS,CACvBjB,EAAU,KAAKiB,CAAO,CAC9B,GAEE,OAAA/oB,EAAS,KACP,UAAY,CACVkpB,EAAqB,OAAS,YAC9BA,EAAqB,MAAQpoB,EAC7B,QAASH,EAAI,EAAGA,EAAImnB,EAAU,OAAQnnB,OAASmnB,EAAUnnB,CAAC,GAAGG,CAAM,CACzE,EACI,SAAUZ,EAAO,CAGf,IAFAgpB,EAAqB,OAAS,WAC9BA,EAAqB,OAAShpB,EACzBA,EAAQ,EAAGA,EAAQ4nB,EAAU,OAAQ5nB,OACpC4nB,EAAU5nB,CAAK,GAAG,MAAM,CACpC,GAESgpB,CACT,CACA,IAAIC,GAA8BpqB,EAAqB,EACvDA,EAAqB,EAAI,SAAU6pB,EAAYtmB,EAAa,CAC1D8mB,GAAiCzb,GAAG,EACvB,OAAOrL,GAApB,UACWA,IAAT,MACe,OAAOA,EAAY,MAAlC,YACAqmB,GAAoBC,EAAYtmB,CAAW,EACpC6mB,KAAT,MACEA,GAA4BP,EAAYtmB,CAAW,CACvD,EACA,IAAI+mB,GAAeze,EAAa,IAAI,EACpC,SAAS0e,IAAoB,CAC3B,IAAIC,EAAiCF,GAAa,QAClD,OAAgBE,IAAT,KACHA,EACAC,GAAmB,WACzB,CACA,SAASC,GAAeC,EAAyBC,EAAe,CACrDA,IAAT,KACIjmB,EAAK2lB,GAAcA,GAAa,OAAO,EACvC3lB,EAAK2lB,GAAcM,EAAc,IAAI,CAC3C,CACA,SAASC,IAAoB,CAC3B,IAAIC,EAAgBP,GAAiB,EACrC,OAAgBO,IAAT,KACH,KACA,CAAE,OAAQ1B,GAAa,cAAe,KAAM0B,CAAa,CAC/D,CACA,IAAIC,GAAoB,MAAMtiB,EAAuB,GAAG,CAAC,EACvDuiB,GAA2B,MAAMviB,EAAuB,GAAG,CAAC,EAC5DwiB,GAA0B,MAAMxiB,EAAuB,GAAG,CAAC,EAC3DyiB,GAA8B,CAAE,KAAM,UAAY,EAAE,EACtD,SAASC,GAAmBlqB,EAAU,CACpC,OAAAA,EAAWA,EAAS,OACGA,IAAhB,aAA2CA,IAAf,UACrC,CACA,SAASmqB,GAAkBC,EAAepqB,EAAUF,EAAO,CAKzD,OAJAA,EAAQsqB,EAActqB,CAAK,EAChBA,IAAX,OACIsqB,EAAc,KAAKpqB,CAAQ,EAC3BF,IAAUE,IAAaA,EAAS,KAAKwX,GAAQA,EAAM,EAAIxX,EAAWF,GAC9DE,EAAS,OAAM,CACrB,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MACIoqB,EAAgBpqB,EAAS,OAC3BqqB,GAA8BD,CAAa,EAC3CA,EAEJ,QACE,GAAiB,OAAOpqB,EAAS,QAA7B,SAAqCA,EAAS,KAAKwX,GAAQA,EAAM,MAChE,CAEH,GADA4S,EAAgBZ,GACHY,IAAT,MAA0B,IAAMA,EAAc,oBAChD,MAAM,MAAM5iB,EAAuB,GAAG,CAAC,EACzC4iB,EAAgBpqB,EAChBoqB,EAAc,OAAS,UACvBA,EAAc,KACZ,SAAUnqB,EAAgB,CACxB,GAAkBD,EAAS,SAAvB,UAA+B,CACjC,IAAIsqB,EAAoBtqB,EACxBsqB,EAAkB,OAAS,YAC3BA,EAAkB,MAAQrqB,CACxC,CACA,EACU,SAAUC,EAAO,CACf,GAAkBF,EAAS,SAAvB,UAA+B,CACjC,IAAIuqB,EAAmBvqB,EACvBuqB,EAAiB,OAAS,WAC1BA,EAAiB,OAASrqB,CACxC,CACA,EAEA,CACM,OAAQF,EAAS,OAAM,CACrB,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MACIoqB,EAAgBpqB,EAAS,OAC3BqqB,GAA8BD,CAAa,EAC3CA,CAEZ,CACM,MAAAI,GAAoBxqB,EACd8pB,EACZ,CACA,CACA,SAASW,GAAYC,EAAU,CAC7B,GAAI,CACF,IAAIrnB,EAAOqnB,EAAS,MACpB,OAAOrnB,EAAKqnB,EAAS,QAAQ,CACjC,OAAW3e,EAAG,CACV,MAAaA,IAAT,MAA2B,OAAOA,GAApB,UAAwC,OAAOA,EAAE,MAAxB,YACjCye,GAAoBze,EAAI+d,IAC5B/d,CACV,CACA,CACA,IAAIye,GAAoB,KACxB,SAASG,IAAuB,CAC9B,GAAaH,KAAT,KAA4B,MAAM,MAAMhjB,EAAuB,GAAG,CAAC,EACvE,IAAIxH,EAAWwqB,GACf,OAAAA,GAAoB,KACbxqB,CACT,CACA,SAASqqB,GAA8BO,EAAgB,CACrD,GACEA,IAAmBd,IACnBc,IAAmBZ,GAEnB,MAAM,MAAMxiB,EAAuB,GAAG,CAAC,CAC3C,CACA,IAAIqjB,GAAkB,KACpBC,GAAyB,EAC3B,SAASC,GAAe/qB,EAAU,CAChC,IAAIF,EAAQgrB,GACZ,OAAAA,IAA0B,EACjBD,KAAT,OAA6BA,GAAkB,IACxCV,GAAkBU,GAAiB7qB,EAAUF,CAAK,CAC3D,CACA,SAASkrB,GAAU5d,EAAgBvN,EAAS,CAC1CA,EAAUA,EAAQ,MAAM,IACxBuN,EAAe,IAAiBvN,IAAX,OAAqBA,EAAU,IACtD,CACA,SAASorB,GAA6BC,EAAaC,EAAU,CAC3D,MAAIA,EAAS,WAAahhB,EAClB,MAAM3C,EAAuB,GAAG,CAAC,GACzC0jB,EAAc,OAAO,UAAU,SAAS,KAAKC,CAAQ,EAC/C,MACJ3jB,EACE,GACsB0jB,IAAtB,kBACI,qBAAuB,OAAO,KAAKC,CAAQ,EAAE,KAAK,IAAI,EAAI,IAC1DD,CACV,GAEA,CACA,SAASE,GAAsBC,EAAwB,CACrD,SAASC,EAAYJ,EAAaK,EAAe,CAC/C,GAAIF,EAAwB,CAC1B,IAAIG,EAAYN,EAAY,UACnBM,IAAT,MACMN,EAAY,UAAY,CAACK,CAAa,EAAKL,EAAY,OAAS,IAClEM,EAAU,KAAKD,CAAa,CACtC,CACA,CACE,SAASE,EAAwBP,EAAaQ,EAAmB,CAC/D,GAAI,CAACL,EAAwB,OAAO,KACpC,KAAgBK,IAAT,MACLJ,EAAYJ,EAAaQ,CAAiB,EACvCA,EAAoBA,EAAkB,QAC3C,OAAO,IACX,CACE,SAASC,EAAqBD,EAAmB,CAC/C,QAASE,EAAmB,IAAI,IAAgBF,IAAT,MAC5BA,EAAkB,MAA3B,KACIE,EAAiB,IAAIF,EAAkB,IAAKA,CAAiB,EAC7DE,EAAiB,IAAIF,EAAkB,MAAOA,CAAiB,EAChEA,EAAoBA,EAAkB,QAC3C,OAAOE,CACX,CACE,SAASC,EAASziB,EAAO8Y,EAAc,CACrC,OAAA9Y,EAAQkZ,GAAqBlZ,EAAO8Y,CAAY,EAChD9Y,EAAM,MAAQ,EACdA,EAAM,QAAU,KACTA,CACX,CACE,SAAS0iB,EAAWC,EAAUC,EAAiBC,EAAU,CAEvD,OADAF,EAAS,MAAQE,EACZZ,GAELY,EAAWF,EAAS,UACPE,IAAT,MAECA,EAAWA,EAAS,MACrBA,EAAWD,GACLD,EAAS,OAAS,SAAWC,GAC/BC,IAERF,EAAS,OAAS,SACXC,KAVGD,EAAS,OAAS,QAAUC,EAW1C,CACE,SAASE,EAAiBH,EAAU,CAClC,OAAAV,GACWU,EAAS,YAAlB,OACCA,EAAS,OAAS,UACdA,CACX,CACE,SAASI,EAAejB,EAAa3I,EAAS6J,EAAapd,EAAO,CAChE,OAAauT,IAAT,MAA0BA,EAAQ,MAAd,GAEnBA,EAAUQ,GAAoBqJ,EAAalB,EAAY,KAAMlc,CAAK,EAClEuT,EAAQ,OAAS2I,EAClB3I,IAEJA,EAAUsJ,EAAStJ,EAAS6J,CAAW,EACvC7J,EAAQ,OAAS2I,EACV3I,EACX,CACE,SAAS8J,EAAcnB,EAAa3I,EAAS1iB,EAASmP,EAAO,CAC3D,IAAIsd,EAAczsB,EAAQ,KAC1B,OAAIysB,IAAgB5vB,EACX6vB,EACLrB,EACA3I,EACA1iB,EAAQ,MAAM,SACdmP,EACAnP,EAAQ,KAGD0iB,IAAT,OACCA,EAAQ,cAAgB+J,GACT,OAAOA,GAApB,UACUA,IAAT,MACAA,EAAY,WAAa1uB,IACzB6sB,GAAY6B,CAAW,IAAM/J,EAAQ,OAGtCA,EAAUsJ,EAAStJ,EAAS1iB,EAAQ,KAAK,EAC1CmrB,GAAUzI,EAAS1iB,CAAO,EACzB0iB,EAAQ,OAAS2I,EAClB3I,IAEJA,EAAUE,GACR5iB,EAAQ,KACRA,EAAQ,IACRA,EAAQ,MACR,KACAqrB,EAAY,KACZlc,GAEFgc,GAAUzI,EAAS1iB,CAAO,EAC1B0iB,EAAQ,OAAS2I,EACV3I,EACX,CACE,SAASiK,EAAatB,EAAa3I,EAASa,EAAQpU,EAAO,CACzD,OACWuT,IAAT,MACMA,EAAQ,MAAd,GACAA,EAAQ,UAAU,gBAAkBa,EAAO,eAC3Cb,EAAQ,UAAU,iBAAmBa,EAAO,gBAGzCb,EAAUY,GAAsBC,EAAQ8H,EAAY,KAAMlc,CAAK,EAC/DuT,EAAQ,OAAS2I,EAClB3I,IAEJA,EAAUsJ,EAAStJ,EAASa,EAAO,UAAY,CAAA,CAAE,EACjDb,EAAQ,OAAS2I,EACV3I,EACX,CACE,SAASgK,EAAerB,EAAa3I,EAASkK,EAAUzd,EAAOjS,EAAK,CAClE,OAAawlB,IAAT,MAA0BA,EAAQ,MAAd,GAEnBA,EAAUM,GACT4J,EACAvB,EAAY,KACZlc,EACAjS,GAEDwlB,EAAQ,OAAS2I,EAClB3I,IAEJA,EAAUsJ,EAAStJ,EAASkK,CAAQ,EACpClK,EAAQ,OAAS2I,EACV3I,EACX,CACE,SAASmK,EAAYxB,EAAaC,EAAUnc,EAAO,CACjD,GACgB,OAAOmc,GAApB,UAAuCA,IAAP,IACpB,OAAOA,GAApB,UACa,OAAOA,GAApB,SAEA,OACGA,EAAWpI,GACV,GAAKoI,EACLD,EAAY,KACZlc,GAEDmc,EAAS,OAASD,EACnBC,EAEJ,GAAiB,OAAOA,GAApB,UAAyCA,IAAT,KAAmB,CACrD,OAAQA,EAAS,SAAQ,CACvB,KAAK1uB,EACH,OACGuS,EAAQyT,GACP0I,EAAS,KACTA,EAAS,IACTA,EAAS,MACT,KACAD,EAAY,KACZlc,GAEFgc,GAAUhc,EAAOmc,CAAQ,EACxBnc,EAAM,OAASkc,EAChBlc,EAEJ,KAAK5R,EACH,OACG+tB,EAAWhI,GACVgI,EACAD,EAAY,KACZlc,GAEDmc,EAAS,OAASD,EACnBC,EAEJ,KAAKvtB,GACH,OACGutB,EAAWV,GAAYU,CAAQ,EAChCuB,EAAYxB,EAAaC,EAAUnc,CAAK,CAEpD,CACM,GAAInQ,GAAYssB,CAAQ,GAAKptB,GAAcotB,CAAQ,EACjD,OACGA,EAAWtI,GACVsI,EACAD,EAAY,KACZlc,EACA,MAEDmc,EAAS,OAASD,EACnBC,EAEJ,GAAmB,OAAOA,EAAS,MAA/B,WACF,OAAOuB,EAAYxB,EAAaH,GAAeI,CAAQ,EAAGnc,CAAK,EACjE,GAAImc,EAAS,WAAa3tB,EACxB,OAAOkvB,EACLxB,EACAvD,GAAgCuD,EAAaC,CAAQ,EACrDnc,GAEJic,GAA6BC,EAAaC,CAAQ,CACxD,CACI,OAAO,IACX,CACE,SAASwB,EAAWzB,EAAa0B,EAAUzB,EAAUnc,EAAO,CAC1D,IAAIjS,EAAe6vB,IAAT,KAAoBA,EAAS,IAAM,KAC7C,GACgB,OAAOzB,GAApB,UAAuCA,IAAP,IACpB,OAAOA,GAApB,UACa,OAAOA,GAApB,SAEA,OAAgBpuB,IAAT,KACH,KACAovB,EAAejB,EAAa0B,EAAU,GAAKzB,EAAUnc,CAAK,EAChE,GAAiB,OAAOmc,GAApB,UAAyCA,IAAT,KAAmB,CACrD,OAAQA,EAAS,SAAQ,CACvB,KAAK1uB,EACH,OAAO0uB,EAAS,MAAQpuB,EACpBsvB,EAAcnB,EAAa0B,EAAUzB,EAAUnc,CAAK,EACpD,KACN,KAAK5R,EACH,OAAO+tB,EAAS,MAAQpuB,EACpByvB,EAAatB,EAAa0B,EAAUzB,EAAUnc,CAAK,EACnD,KACN,KAAKpR,GACH,OACGutB,EAAWV,GAAYU,CAAQ,EAChCwB,EAAWzB,EAAa0B,EAAUzB,EAAUnc,CAAK,CAE7D,CACM,GAAInQ,GAAYssB,CAAQ,GAAKptB,GAAcotB,CAAQ,EACjD,OAAgBpuB,IAAT,KACH,KACAwvB,EAAerB,EAAa0B,EAAUzB,EAAUnc,EAAO,IAAI,EACjE,GAAmB,OAAOmc,EAAS,MAA/B,WACF,OAAOwB,EACLzB,EACA0B,EACA7B,GAAeI,CAAQ,EACvBnc,GAEJ,GAAImc,EAAS,WAAa3tB,EACxB,OAAOmvB,EACLzB,EACA0B,EACAjF,GAAgCuD,EAAaC,CAAQ,EACrDnc,GAEJic,GAA6BC,EAAaC,CAAQ,CACxD,CACI,OAAO,IACX,CACE,SAAS0B,EACPjB,EACAV,EACA4B,EACA3B,EACAnc,EACA,CACA,GACgB,OAAOmc,GAApB,UAAuCA,IAAP,IACpB,OAAOA,GAApB,UACa,OAAOA,GAApB,SAEA,OACGS,EAAmBA,EAAiB,IAAIkB,CAAM,GAAK,KACpDX,EAAejB,EAAaU,EAAkB,GAAKT,EAAUnc,CAAK,EAEtE,GAAiB,OAAOmc,GAApB,UAAyCA,IAAT,KAAmB,CACrD,OAAQA,EAAS,SAAQ,CACvB,KAAK1uB,EACH,OACGmvB,EACCA,EAAiB,IACNT,EAAS,MAAlB,KAAwB2B,EAAS3B,EAAS,GAC1D,GAAmB,KACPkB,EAAcnB,EAAaU,EAAkBT,EAAUnc,CAAK,EAEhE,KAAK5R,EACH,OACGwuB,EACCA,EAAiB,IACNT,EAAS,MAAlB,KAAwB2B,EAAS3B,EAAS,GAC1D,GAAmB,KACPqB,EAAatB,EAAaU,EAAkBT,EAAUnc,CAAK,EAE/D,KAAKpR,GACH,OACGutB,EAAWV,GAAYU,CAAQ,EAChC0B,EACEjB,EACAV,EACA4B,EACA3B,EACAnc,CACd,CAEA,CACM,GAAInQ,GAAYssB,CAAQ,GAAKptB,GAAcotB,CAAQ,EACjD,OACGS,EAAmBA,EAAiB,IAAIkB,CAAM,GAAK,KACpDP,EAAerB,EAAaU,EAAkBT,EAAUnc,EAAO,IAAI,EAEvE,GAAmB,OAAOmc,EAAS,MAA/B,WACF,OAAO0B,EACLjB,EACAV,EACA4B,EACA/B,GAAeI,CAAQ,EACvBnc,GAEJ,GAAImc,EAAS,WAAa3tB,EACxB,OAAOqvB,EACLjB,EACAV,EACA4B,EACAnF,GAAgCuD,EAAaC,CAAQ,EACrDnc,GAEJic,GAA6BC,EAAaC,CAAQ,CACxD,CACI,OAAO,IACX,CACE,SAAS4B,EACP7B,EACAQ,EACAsB,EACAhe,EACA,CACA,QACMie,EAAsB,KACxBC,GAAmB,KACnBN,EAAWlB,EACXoB,EAAUpB,EAAoB,EAC9ByB,GAAe,KACRP,IAAT,MAAqBE,EAASE,EAAY,OAC1CF,IACA,CACAF,EAAS,MAAQE,GACXK,GAAeP,EAAYA,EAAW,MACvCO,GAAeP,EAAS,QAC7B,IAAIb,GAAWY,EACbzB,EACA0B,EACAI,EAAYF,CAAM,EAClB9d,GAEF,GAAa+c,KAAT,KAAmB,CACZa,IAAT,OAAsBA,EAAWO,IACjC,KACR,CACM9B,GACEuB,GACSb,GAAS,YAAlB,MACAT,EAAYJ,EAAa0B,CAAQ,EACnClB,EAAoBI,EAAWC,GAAUL,EAAmBoB,CAAM,EACzDI,KAAT,KACKD,EAAsBlB,GACtBmB,GAAiB,QAAUnB,GAChCmB,GAAmBnB,GACnBa,EAAWO,EACjB,CACI,GAAIL,IAAWE,EAAY,OACzB,OACEvB,EAAwBP,EAAa0B,CAAQ,EAC7C7W,IAAemO,GAAagH,EAAa4B,CAAM,EAC/CG,EAEJ,GAAaL,IAAT,KAAmB,CACrB,KAAOE,EAASE,EAAY,OAAQF,IACjCF,EAAWF,EAAYxB,EAAa8B,EAAYF,CAAM,EAAG9d,CAAK,EACpD4d,IAAT,OACIlB,EAAoBI,EACpBc,EACAlB,EACAoB,GAEOI,KAAT,KACKD,EAAsBL,EACtBM,GAAiB,QAAUN,EAC/BM,GAAmBN,GAC1B,OAAA7W,IAAemO,GAAagH,EAAa4B,CAAM,EACxCG,CACb,CACI,IACEL,EAAWjB,EAAqBiB,CAAQ,EACxCE,EAASE,EAAY,OACrBF,IAECK,GAAeN,EACdD,EACA1B,EACA4B,EACAE,EAAYF,CAAM,EAClB9d,GAESme,KAAT,OACG9B,GACU8B,GAAa,YAAtB,MACAP,EAAS,OACEO,GAAa,MAAtB,KAA4BL,EAASK,GAAa,KAErDzB,EAAoBI,EACnBqB,GACAzB,EACAoB,GAEOI,KAAT,KACKD,EAAsBE,GACtBD,GAAiB,QAAUC,GAC/BD,GAAmBC,IAC1B,OAAA9B,GACEuB,EAAS,QAAQ,SAAU5rB,GAAO,CAChC,OAAOsqB,EAAYJ,EAAalqB,EAAK,CAC7C,CAAO,EACH+U,IAAemO,GAAagH,EAAa4B,CAAM,EACxCG,CACX,CACE,SAASG,EACPlC,EACAQ,EACAsB,EACAhe,EACA,CACA,GAAYge,GAAR,KAAqB,MAAM,MAAMxlB,EAAuB,GAAG,CAAC,EAChE,QACMylB,EAAsB,KACxBC,GAAmB,KACnBN,EAAWlB,EACXoB,EAAUpB,EAAoB,EAC9ByB,GAAe,KACfE,GAAOL,EAAY,KAAI,EAChBJ,IAAT,MAAqB,CAACS,GAAK,KAC3BP,IAAUO,GAAOL,EAAY,KAAI,EACjC,CACAJ,EAAS,MAAQE,GACXK,GAAeP,EAAYA,EAAW,MACvCO,GAAeP,EAAS,QAC7B,IAAIb,GAAWY,EAAWzB,EAAa0B,EAAUS,GAAK,MAAOre,CAAK,EAClE,GAAa+c,KAAT,KAAmB,CACZa,IAAT,OAAsBA,EAAWO,IACjC,KACR,CACM9B,GACEuB,GACSb,GAAS,YAAlB,MACAT,EAAYJ,EAAa0B,CAAQ,EACnClB,EAAoBI,EAAWC,GAAUL,EAAmBoB,CAAM,EACzDI,KAAT,KACKD,EAAsBlB,GACtBmB,GAAiB,QAAUnB,GAChCmB,GAAmBnB,GACnBa,EAAWO,EACjB,CACI,GAAIE,GAAK,KACP,OACE5B,EAAwBP,EAAa0B,CAAQ,EAC7C7W,IAAemO,GAAagH,EAAa4B,CAAM,EAC/CG,EAEJ,GAAaL,IAAT,KAAmB,CACrB,KAAO,CAACS,GAAK,KAAMP,IAAUO,GAAOL,EAAY,KAAI,EACjDK,GAAOX,EAAYxB,EAAamC,GAAK,MAAOre,CAAK,EACvCqe,KAAT,OACI3B,EAAoBI,EAAWuB,GAAM3B,EAAmBoB,CAAM,EACvDI,KAAT,KACKD,EAAsBI,GACtBH,GAAiB,QAAUG,GAC/BH,GAAmBG,IAC1B,OAAAtX,IAAemO,GAAagH,EAAa4B,CAAM,EACxCG,CACb,CACI,IACEL,EAAWjB,EAAqBiB,CAAQ,EACxC,CAACS,GAAK,KACNP,IAAUO,GAAOL,EAAY,KAAI,EAEhCK,GAAOR,EAAcD,EAAU1B,EAAa4B,EAAQO,GAAK,MAAOre,CAAK,EAC3Dqe,KAAT,OACGhC,GACUgC,GAAK,YAAd,MACAT,EAAS,OAAgBS,GAAK,MAAd,KAAoBP,EAASO,GAAK,GAAG,EACtD3B,EAAoBI,EAAWuB,GAAM3B,EAAmBoB,CAAM,EACtDI,KAAT,KACKD,EAAsBI,GACtBH,GAAiB,QAAUG,GAC/BH,GAAmBG,IAC1B,OAAAhC,GACEuB,EAAS,QAAQ,SAAU5rB,GAAO,CAChC,OAAOsqB,EAAYJ,EAAalqB,EAAK,CAC7C,CAAO,EACH+U,IAAemO,GAAagH,EAAa4B,CAAM,EACxCG,CACX,CACE,SAASK,GACPpC,EACAQ,EACAP,EACAnc,EACA,CAMA,GALa,OAAOmc,GAApB,UACWA,IAAT,MACAA,EAAS,OAASzuB,GACTyuB,EAAS,MAAlB,OACCA,EAAWA,EAAS,MAAM,UACZ,OAAOA,GAApB,UAAyCA,IAAT,KAAmB,CACrD,OAAQA,EAAS,SAAQ,CACvB,KAAK1uB,EACHoH,EAAG,CACD,QAAS9G,EAAMouB,EAAS,IAAcO,IAAT,MAA8B,CACzD,GAAIA,EAAkB,MAAQ3uB,EAAK,CAEjC,GADAA,EAAMouB,EAAS,KACXpuB,IAAQL,GACV,GAAUgvB,EAAkB,MAAxB,EAA6B,CAC/BD,EACEP,EACAQ,EAAkB,SAEpB1c,EAAQ6c,EACNH,EACAP,EAAS,MAAM,UAEjBnc,EAAM,OAASkc,EACfA,EAAclc,EACd,MAAMnL,CAC1B,UAEkB6nB,EAAkB,cAAgB3uB,GACpB,OAAOA,GAApB,UACUA,IAAT,MACAA,EAAI,WAAaa,IACjB6sB,GAAY1tB,CAAG,IAAM2uB,EAAkB,KACzC,CACAD,EACEP,EACAQ,EAAkB,SAEpB1c,EAAQ6c,EAASH,EAAmBP,EAAS,KAAK,EAClDH,GAAUhc,EAAOmc,CAAQ,EACzBnc,EAAM,OAASkc,EACfA,EAAclc,EACd,MAAMnL,CACxB,CACgB4nB,EAAwBP,EAAaQ,CAAiB,EACtD,KAChB,MAAqBJ,EAAYJ,EAAaQ,CAAiB,EACjDA,EAAoBA,EAAkB,OACpD,CACYP,EAAS,OAASzuB,GACZsS,EAAQ6T,GACRsI,EAAS,MAAM,SACfD,EAAY,KACZlc,EACAmc,EAAS,KAEVnc,EAAM,OAASkc,EACfA,EAAclc,IACbA,EAAQyT,GACR0I,EAAS,KACTA,EAAS,IACTA,EAAS,MACT,KACAD,EAAY,KACZlc,GAEFgc,GAAUhc,EAAOmc,CAAQ,EACxBnc,EAAM,OAASkc,EACfA,EAAclc,EAC/B,CACU,OAAOkd,EAAiBhB,CAAW,EACrC,KAAK9tB,EACHyG,EAAG,CACD,IAAK9G,EAAMouB,EAAS,IAAcO,IAAT,MAA8B,CACrD,GAAIA,EAAkB,MAAQ3uB,EAC5B,GACQ2uB,EAAkB,MAAxB,GACAA,EAAkB,UAAU,gBAC1BP,EAAS,eACXO,EAAkB,UAAU,iBAC1BP,EAAS,eACX,CACAM,EACEP,EACAQ,EAAkB,SAEpB1c,EAAQ6c,EAASH,EAAmBP,EAAS,UAAY,CAAA,CAAE,EAC3Dnc,EAAM,OAASkc,EACfA,EAAclc,EACd,MAAMnL,CACxB,KAAuB,CACL4nB,EAAwBP,EAAaQ,CAAiB,EACtD,KAClB,MACmBJ,EAAYJ,EAAaQ,CAAiB,EAC/CA,EAAoBA,EAAkB,OACpD,CACY1c,EAAQmU,GAAsBgI,EAAUD,EAAY,KAAMlc,CAAK,EAC/DA,EAAM,OAASkc,EACfA,EAAclc,CAC1B,CACU,OAAOkd,EAAiBhB,CAAW,EACrC,KAAKttB,GACH,OACGutB,EAAWV,GAAYU,CAAQ,EAChCmC,GACEpC,EACAQ,EACAP,EACAnc,CACd,CAEA,CACM,GAAInQ,GAAYssB,CAAQ,EACtB,OAAO4B,EACL7B,EACAQ,EACAP,EACAnc,GAEJ,GAAIjR,GAAcotB,CAAQ,EAAG,CAE3B,GADApuB,EAAMgB,GAAcotB,CAAQ,EACT,OAAOpuB,GAAtB,WAA2B,MAAM,MAAMyK,EAAuB,GAAG,CAAC,EACtE,OAAA2jB,EAAWpuB,EAAI,KAAKouB,CAAQ,EACrBiC,EACLlC,EACAQ,EACAP,EACAnc,EAEV,CACM,GAAmB,OAAOmc,EAAS,MAA/B,WACF,OAAOmC,GACLpC,EACAQ,EACAX,GAAeI,CAAQ,EACvBnc,GAEJ,GAAImc,EAAS,WAAa3tB,EACxB,OAAO8vB,GACLpC,EACAQ,EACA/D,GAAgCuD,EAAaC,CAAQ,EACrDnc,GAEJic,GAA6BC,EAAaC,CAAQ,CACxD,CACI,OAAqB,OAAOA,GAApB,UAAuCA,IAAP,IACzB,OAAOA,GAApB,UACa,OAAOA,GAApB,UACIA,EAAW,GAAKA,EACTO,IAAT,MAAoCA,EAAkB,MAAxB,GACzBD,EAAwBP,EAAaQ,EAAkB,OAAO,EAC9D1c,EAAQ6c,EAASH,EAAmBP,CAAQ,EAC5Cnc,EAAM,OAASkc,EACfA,EAAclc,IACdyc,EAAwBP,EAAaQ,CAAiB,EACtD1c,EAAQ+T,GAAoBoI,EAAUD,EAAY,KAAMlc,CAAK,EAC7DA,EAAM,OAASkc,EACfA,EAAclc,GACnBkd,EAAiBhB,CAAW,GAC5BO,EAAwBP,EAAaQ,CAAiB,CAC9D,CACE,OAAO,SAAUR,EAAaQ,EAAmBP,EAAUnc,EAAO,CAChE,GAAI,CACF8b,GAAyB,EACzB,IAAIyC,EAAkBD,GACpBpC,EACAQ,EACAP,EACAnc,GAEF,OAAA6b,GAAkB,KACX0C,CACb,OAAaxhB,EAAG,CACV,GAAIA,IAAM+d,IAAqB/d,IAAMie,GAAyB,MAAMje,EACpE,IAAI3C,GAAQgZ,GAAqB,GAAIrW,EAAG,KAAMmf,EAAY,IAAI,EAC9D,OAAA9hB,GAAM,MAAQ4F,EACd5F,GAAM,OAAS8hB,EACR9hB,EACb,QAAK,CACL,CACA,CACA,CACA,IAAIokB,GAAuBpC,GAAsB,EAAE,EACjDqC,GAAmBrC,GAAsB,EAAE,EAC3CsC,GAAiB,GACnB,SAASC,GAAsBvkB,EAAO,CACpCA,EAAM,YAAc,CAClB,UAAWA,EAAM,cACjB,gBAAiB,KACjB,eAAgB,KAChB,OAAQ,CAAE,QAAS,KAAM,MAAO,EAAG,gBAAiB,IAAI,EACxD,UAAW,KAEf,CACA,SAASwkB,GAAiBrL,EAASnV,EAAgB,CACjDmV,EAAUA,EAAQ,YAClBnV,EAAe,cAAgBmV,IAC5BnV,EAAe,YAAc,CAC5B,UAAWmV,EAAQ,UACnB,gBAAiBA,EAAQ,gBACzB,eAAgBA,EAAQ,eACxB,OAAQA,EAAQ,OAChB,UAAW,IACjB,EACA,CACA,SAASsL,GAAa/d,EAAM,CAC1B,MAAO,CAAE,KAAMA,EAAM,IAAK,EAAG,QAAS,KAAM,SAAU,KAAM,KAAM,IAAI,CACxE,CACA,SAASge,GAAc1kB,EAAO6H,EAAQnB,EAAM,CAC1C,IAAIie,EAAc3kB,EAAM,YACxB,GAAa2kB,IAAT,KAAsB,OAAO,KAEjC,GADAA,EAAcA,EAAY,OACfC,GAAmB,EAAI,CAChC,IAAI1M,EAAUyM,EAAY,QAC1B,OAASzM,IAAT,KACKrQ,EAAO,KAAOA,GACbA,EAAO,KAAOqQ,EAAQ,KAAQA,EAAQ,KAAOrQ,GACnD8c,EAAY,QAAU9c,EACtBA,EAASyQ,GAAuBtY,CAAK,EACrCmY,GAA8BnY,EAAO,KAAM0G,CAAI,EACxCmB,CACX,CACE,OAAAuQ,GAAgBpY,EAAO2kB,EAAa9c,EAAQnB,CAAI,EACzC4R,GAAuBtY,CAAK,CACrC,CACA,SAAS6kB,GAAoB9e,EAAM/F,EAAO0G,EAAM,CAE9C,GADA1G,EAAQA,EAAM,YACDA,IAAT,OAAoBA,EAAQA,EAAM,QAAgB0G,EAAO,WAAd,GAAyB,CACtE,IAAIoe,EAAa9kB,EAAM,MACvB8kB,GAAc/e,EAAK,aACnBW,GAAQoe,EACR9kB,EAAM,MAAQ0G,EACduB,GAAkBlC,EAAMW,CAAI,CAChC,CACA,CACA,SAASqe,GAAsB/gB,EAAgBghB,EAAgB,CAC7D,IAAI/M,EAAQjU,EAAe,YACzBmV,EAAUnV,EAAe,UAC3B,GACWmV,IAAT,OACEA,EAAUA,EAAQ,YAAclB,IAAUkB,GAC5C,CACA,IAAI8L,EAAW,KACbC,EAAU,KAEZ,GADAjN,EAAQA,EAAM,gBACDA,IAAT,KAAgB,CAClB,EAAG,CACD,IAAIkN,EAAQ,CACV,KAAMlN,EAAM,KACZ,IAAKA,EAAM,IACX,QAASA,EAAM,QACf,SAAU,KACV,KAAM,MAECiN,IAAT,KACKD,EAAWC,EAAUC,EACrBD,EAAUA,EAAQ,KAAOC,EAC9BlN,EAAQA,EAAM,IACtB,OAAwBA,IAAT,MACAiN,IAAT,KACKD,EAAWC,EAAUF,EACrBE,EAAUA,EAAQ,KAAOF,CACpC,MAAWC,EAAWC,EAAUF,EAC5B/M,EAAQ,CACN,UAAWkB,EAAQ,UACnB,gBAAiB8L,EACjB,eAAgBC,EAChB,OAAQ/L,EAAQ,OAChB,UAAWA,EAAQ,WAErBnV,EAAe,YAAciU,EAC7B,MACJ,CACEjU,EAAiBiU,EAAM,eACdjU,IAAT,KACKiU,EAAM,gBAAkB+M,EACxBhhB,EAAe,KAAOghB,EAC3B/M,EAAM,eAAiB+M,CACzB,CACA,IAAII,GAAkC,GACtC,SAASC,IAA8C,CACrD,GAAID,GAAiC,CACnC,IAAIE,EAA0BhG,GAC9B,GAAagG,IAAT,KAAkC,MAAMA,CAChD,CACA,CACA,SAASC,GACPC,EACAvwB,EACAwwB,EACAjf,EACA,CACA4e,GAAkC,GAClC,IAAInN,EAAQuN,EAAwB,YACpClB,GAAiB,GACjB,IAAIoB,EAAkBzN,EAAM,gBAC1B0N,EAAiB1N,EAAM,eACvB2N,EAAe3N,EAAM,OAAO,QAC9B,GAAa2N,IAAT,KAAuB,CACzB3N,EAAM,OAAO,QAAU,KACvB,IAAI4N,EAAoBD,EACtBE,EAAqBD,EAAkB,KACzCA,EAAkB,KAAO,KAChBF,IAAT,KACKD,EAAkBI,EAClBH,EAAe,KAAOG,EAC3BH,EAAiBE,EACjB,IAAI1M,EAAUqM,EAAwB,UAC7BrM,IAAT,OACIA,EAAUA,EAAQ,YACnByM,EAAezM,EAAQ,eACxByM,IAAiBD,IACLC,IAAT,KACIzM,EAAQ,gBAAkB2M,EAC1BF,EAAa,KAAOE,EACxB3M,EAAQ,eAAiB0M,GAClC,CACE,GAAaH,IAAT,KAA0B,CAC5B,IAAIK,EAAW9N,EAAM,UACrB0N,EAAiB,EACjBxM,EAAU2M,EAAqBD,EAAoB,KACnDD,EAAeF,EACf,EAAG,CACD,IAAI1e,EAAa4e,EAAa,KAAO,WACnCI,EAAiBhf,IAAe4e,EAAa,KAC/C,GACEI,GACKC,GAAgCjf,KAAgBA,GAChDR,EAAcQ,KAAgBA,EACnC,CACMA,IAAN,GACEA,IAAeqY,KACd+F,GAAkC,IAC5BjM,IAAT,OACGA,EAAUA,EAAQ,KACjB,CACE,KAAM,EACN,IAAKyM,EAAa,IAClB,QAASA,EAAa,QACtB,SAAU,KACV,KAAM,IACpB,GACQnrB,EAAG,CACD,IAAIuJ,EAAiBwhB,EACnB3d,EAAS+d,EACX5e,EAAa/R,EACb,IAAI+mB,GAAWyJ,EACf,OAAQ5d,EAAO,IAAG,CAChB,IAAK,GAEH,GADA7D,EAAiB6D,EAAO,QACL,OAAO7D,GAAtB,WAAsC,CACxC+hB,EAAW/hB,EAAe,KAAKgY,GAAU+J,EAAU/e,CAAU,EAC7D,MAAMvM,CACtB,CACcsrB,EAAW/hB,EACX,MAAMvJ,EACR,IAAK,GACHuJ,EAAe,MAASA,EAAe,MAAQ,OAAU,IAC3D,IAAK,GAMH,GALAA,EAAiB6D,EAAO,QACxBb,EACiB,OAAOhD,GAAtB,WACIA,EAAe,KAAKgY,GAAU+J,EAAU/e,CAAU,EAClDhD,EACOgD,GAAT,KAA8C,MAAMvM,EACxDsrB,EAAWjxB,EAAO,GAAIixB,EAAU/e,CAAU,EAC1C,MAAMvM,EACR,IAAK,GACH6pB,GAAiB,EAC/B,CACA,CACQtd,EAAa4e,EAAa,SACjB5e,IAAT,OACIwe,EAAwB,OAAS,GACnCQ,IAAmBR,EAAwB,OAAS,MACnDQ,EAAiB/N,EAAM,UACf+N,IAAT,KACK/N,EAAM,UAAY,CAACjR,CAAU,EAC9Bgf,EAAe,KAAKhf,CAAU,EAC5C,MACSgf,EAAiB,CAChB,KAAMhf,EACN,IAAK4e,EAAa,IAClB,QAASA,EAAa,QACtB,SAAUA,EAAa,SACvB,KAAM,MAEGzM,IAAT,MACM2M,EAAqB3M,EAAU6M,EAChCH,EAAoBE,GACpB5M,EAAUA,EAAQ,KAAO6M,EAC7BL,GAAkB3e,EAEvB,GADA4e,EAAeA,EAAa,KACfA,IAAT,KACF,IAAMA,EAAe3N,EAAM,OAAO,QAAmB2N,IAAT,KAC1C,MAECI,EAAiBJ,EACfA,EAAeI,EAAe,KAC9BA,EAAe,KAAO,KACtB/N,EAAM,eAAiB+N,EACvB/N,EAAM,OAAO,QAAU,KACpC,OAAa,IACAkB,IAAT,OAAqB0M,EAAoBE,GACzC9N,EAAM,UAAY4N,EAClB5N,EAAM,gBAAkB6N,EACxB7N,EAAM,eAAiBkB,EACduM,IAAT,OAA6BzN,EAAM,OAAO,MAAQ,GAClDiO,IAAkCP,EAClCH,EAAwB,MAAQG,EAChCH,EAAwB,cAAgBO,CAC5C,CACA,CACA,SAASI,GAAa9wB,EAAUH,EAAS,CACvC,GAAmB,OAAOG,GAAtB,WACF,MAAM,MAAM+I,EAAuB,IAAK/I,CAAQ,CAAC,EACnDA,EAAS,KAAKH,CAAO,CACvB,CACA,SAASkxB,GAAgBzB,EAAazvB,EAAS,CAC7C,IAAImxB,EAAY1B,EAAY,UAC5B,GAAa0B,IAAT,KACF,IACE1B,EAAY,UAAY,KAAMA,EAAc,EAC5CA,EAAc0B,EAAU,OACxB1B,IAEAwB,GAAaE,EAAU1B,CAAW,EAAGzvB,CAAO,CAClD,CACA,IAAIoxB,GAA+B9kB,EAAa,IAAI,EAClD+kB,GAAiC/kB,EAAa,CAAC,EACjD,SAASglB,GAAkBxmB,EAAO9K,EAAS,CACzC8K,EAAQymB,GACRnsB,EAAKisB,GAAgCvmB,CAAK,EAC1C1F,EAAKgsB,GAA8BpxB,CAAO,EAC1CuxB,GAAuBzmB,EAAQ9K,EAAQ,SACzC,CACA,SAASwxB,IAA4B,CACnCpsB,EAAKisB,GAAgCE,EAAoB,EACzDnsB,EAAKgsB,GAA8BA,GAA6B,OAAO,CACzE,CACA,SAASK,IAAmB,CAC1BF,GAAuBF,GAA+B,QACtD1rB,EAAIyrB,EAA4B,EAChCzrB,EAAI0rB,EAA8B,CACpC,CACA,IAAIK,GAA6BplB,EAAa,IAAI,EAChDqlB,GAAgB,KAClB,SAASC,GAA+BC,EAAS,CAC/C,IAAI5N,EAAU4N,EAAQ,UACtBzsB,EAAK0sB,GAAqBA,GAAoB,QAAU,CAAC,EACzD1sB,EAAKssB,GAA4BG,CAAO,EAC/BF,KAAT,OACY1N,IAAT,MAA6BmN,GAA6B,UAAtC,MAERnN,EAAQ,gBAAjB,QAAmC0N,GAAgBE,EAC3D,CACA,SAASE,GAAsCjnB,EAAO,CACpD1F,EAAK0sB,GAAqBA,GAAoB,OAAO,EACrD1sB,EAAKssB,GAA4B5mB,CAAK,EAC7B6mB,KAAT,OAA2BA,GAAgB7mB,EAC7C,CACA,SAASknB,GAA6BlnB,EAAO,CACpCA,EAAM,MAAb,IACK1F,EAAK0sB,GAAqBA,GAAoB,OAAO,EACtD1sB,EAAKssB,GAA4B5mB,CAAK,EAC7B6mB,KAAT,OAA2BA,GAAgB7mB,IAC3CmnB,GAAiC,CACvC,CACA,SAASA,IAA8B,CACrC7sB,EAAK0sB,GAAqBA,GAAoB,OAAO,EACrD1sB,EAAKssB,GAA4BA,GAA2B,OAAO,CACrE,CACA,SAASQ,GAAmBpnB,EAAO,CACjCnF,EAAI+rB,EAA0B,EAC9BC,KAAkB7mB,IAAU6mB,GAAgB,MAC5ChsB,EAAImsB,EAAmB,CACzB,CACA,IAAIA,GAAsBxlB,EAAa,CAAC,EACxC,SAAS6lB,GAAmBC,EAAK,CAC/B,QAAS9sB,EAAO8sB,EAAc9sB,IAAT,MAAiB,CACpC,GAAWA,EAAK,MAAZ,GAAiB,CACnB,IAAI+sB,EAAQ/sB,EAAK,cACjB,GACW+sB,IAAT,OACEA,EAAQA,EAAM,WACPA,IAAT,MACEC,GAA0BD,CAAK,GAC/BE,GAA2BF,CAAK,GAElC,OAAO/sB,CACf,SACaA,EAAK,MAAZ,KACgBA,EAAK,cAAc,cAAlC,YACiBA,EAAK,cAAc,cAAnC,aACgCA,EAAK,cAAc,cAAnD,6BACeA,EAAK,cAAc,cAAlC,aAEF,GAAWA,EAAK,MAAQ,IAAM,OAAOA,UACnBA,EAAK,QAAd,KAAqB,CAC9BA,EAAK,MAAM,OAASA,EACpBA,EAAOA,EAAK,MACZ,QACN,CACI,GAAIA,IAAS8sB,EAAK,MAClB,KAAgB9sB,EAAK,UAAd,MAAyB,CAC9B,GAAaA,EAAK,SAAd,MAAwBA,EAAK,SAAW8sB,EAAK,OAAO,KACxD9sB,EAAOA,EAAK,MAClB,CACIA,EAAK,QAAQ,OAASA,EAAK,OAC3BA,EAAOA,EAAK,OAChB,CACE,OAAO,IACT,CACA,IAAIgM,GAAc,EAChBkhB,EAA0B,KAC1BC,GAAc,KACdC,GAAqB,KACrBC,GAA+B,GAC/BC,GAA6C,GAC7CC,GAAsC,GACtCC,GAAiB,EACjBC,GAAuB,EACvBjH,GAAgB,KAChBkH,GAAwB,EAC1B,SAASC,IAAwB,CAC/B,MAAM,MAAM/pB,EAAuB,GAAG,CAAC,CACzC,CACA,SAASgqB,GAAmBC,EAAUC,EAAU,CAC9C,GAAaA,IAAT,KAAmB,MAAO,GAC9B,QAAS/wB,EAAI,EAAGA,EAAI+wB,EAAS,QAAU/wB,EAAI8wB,EAAS,OAAQ9wB,IAC1D,GAAI,CAAC6d,GAASiT,EAAS9wB,CAAC,EAAG+wB,EAAS/wB,CAAC,CAAC,EAAG,MAAO,GAClD,MAAO,EACT,CACA,SAASgxB,GACPpP,EACAnV,EACAhP,EACAC,EACAuzB,EACAC,EACA,CACA,OAAAjiB,GAAciiB,EACdf,EAA0B1jB,EAC1BA,EAAe,cAAgB,KAC/BA,EAAe,YAAc,KAC7BA,EAAe,MAAQ,EACvBrO,EAAqB,EACVwjB,IAAT,MAA6BA,EAAQ,gBAAjB,KAChBuP,GACAC,GACNZ,GAAsC,GACtCU,EAAkBzzB,EAAUC,EAAOuzB,CAAS,EAC5CT,GAAsC,GACtCD,KACGW,EAAkBG,GACjB5kB,EACAhP,EACAC,EACAuzB,CACN,GACEK,GAAqB1P,CAAO,EACrBsP,CACT,CACA,SAASI,GAAqB1P,EAAS,CACrCxjB,EAAqB,EAAImzB,GACzB,IAAIC,EAAgCpB,KAAT,MAAiCA,GAAY,OAArB,KAMnD,GALAnhB,GAAc,EACdohB,GAAqBD,GAAcD,EAA0B,KAC7DG,GAA+B,GAC/BI,GAAuB,EACvBjH,GAAgB,KACZ+H,EAAsB,MAAM,MAAM3qB,EAAuB,GAAG,CAAC,EACxD+a,IAAT,MACE6P,KACE7P,EAAUA,EAAQ,aACXA,IAAT,MACE+E,GAAsB/E,CAAO,IAC5B6P,GAAmB,IAC1B,CACA,SAASJ,GAAqB5kB,EAAgBhP,EAAWC,EAAOuzB,EAAW,CACzEd,EAA0B1jB,EAC1B,IAAIilB,EAAoB,EACxB,EAAG,CAID,GAHAnB,KAA+C9G,GAAgB,MAC/DiH,GAAuB,EACvBH,GAA6C,GACzC,IAAMmB,EAAmB,MAAM,MAAM7qB,EAAuB,GAAG,CAAC,EAGpE,GAFA6qB,GAAqB,EACrBrB,GAAqBD,GAAc,KACvB3jB,EAAe,aAAvB,KAAoC,CACtC,IAAIhN,EAAWgN,EAAe,YAC9BhN,EAAS,WAAa,KACtBA,EAAS,OAAS,KAClBA,EAAS,OAAS,KACVA,EAAS,WAAjB,OAA+BA,EAAS,UAAU,MAAQ,EAChE,CACIrB,EAAqB,EAAIuzB,GACzBlyB,EAAWhC,EAAUC,EAAOuzB,CAAS,CACzC,OAAWV,IACT,OAAO9wB,CACT,CACA,SAASmyB,IAA+B,CACtC,IAAIC,EAAazzB,EAAqB,EACpC0zB,EAAgBD,EAAW,SAAQ,EAAG,CAAC,EACzC,OAAAC,EACiB,OAAOA,EAAc,MAApC,WACIC,GAAYD,CAAa,EACzBA,EACND,EAAaA,EAAW,SAAQ,EAAG,CAAC,GAC1BzB,KAAT,KAAuBA,GAAY,cAAgB,QAAUyB,IAC3D1B,EAAwB,OAAS,MAC7B2B,CACT,CACA,SAASE,IAAuB,CAC9B,IAAIC,EAAwBxB,KAAN,EACtB,OAAAA,GAAiB,EACVwB,CACT,CACA,SAASC,GAAatQ,EAASnV,EAAgB4B,EAAO,CACpD5B,EAAe,YAAcmV,EAAQ,YACrCnV,EAAe,OAAS,MACxBmV,EAAQ,OAAS,CAACvT,CACpB,CACA,SAAS8jB,GAAmB1lB,EAAgB,CAC1C,GAAI6jB,GAA8B,CAChC,IACE7jB,EAAiBA,EAAe,cACvBA,IAAT,MAEA,CACA,IAAIiU,EAAQjU,EAAe,MAClBiU,IAAT,OAAmBA,EAAM,QAAU,MACnCjU,EAAiBA,EAAe,IACtC,CACI6jB,GAA+B,EACnC,CACErhB,GAAc,EACdohB,GAAqBD,GAAcD,EAA0B,KAC7DI,GAA6C,GAC7CG,GAAuBD,GAAiB,EACxChH,GAAgB,IAClB,CACA,SAAS2I,IAA0B,CACjC,IAAIC,EAAO,CACT,cAAe,KACf,UAAW,KACX,UAAW,KACX,MAAO,KACP,KAAM,MAER,OAAShC,KAAT,KACKF,EAAwB,cAAgBE,GAAqBgC,EAC7DhC,GAAqBA,GAAmB,KAAOgC,EAC7ChC,EACT,CACA,SAASiC,IAA2B,CAClC,GAAalC,KAAT,KAAsB,CACxB,IAAImC,EAAkBpC,EAAwB,UAC9CoC,EACWA,IAAT,KAA2BA,EAAgB,cAAgB,IACjE,MAASA,EAAkBnC,GAAY,KACrC,IAAIoC,EACOnC,KAAT,KACIF,EAAwB,cACxBE,GAAmB,KACzB,GAAamC,IAAT,KACDnC,GAAqBmC,EACnBpC,GAAcmC,MACd,CACH,GAAaA,IAAT,KACF,MAAapC,EAAwB,YAAjC,KACI,MAAMtpB,EAAuB,GAAG,CAAC,EACnC,MAAMA,EAAuB,GAAG,CAAC,EAEzCupB,GAAcmC,EACdA,EAAkB,CAChB,cAAenC,GAAY,cAC3B,UAAWA,GAAY,UACvB,UAAWA,GAAY,UACvB,MAAOA,GAAY,MACnB,KAAM,MAECC,KAAT,KACKF,EAAwB,cAAgBE,GACvCkC,EACDlC,GAAqBA,GAAmB,KAAOkC,CACxD,CACE,OAAOlC,EACT,CACA,SAASoC,IAAqC,CAC5C,MAAO,CAAE,WAAY,KAAM,OAAQ,KAAM,OAAQ,KAAM,UAAW,IAAI,CACxE,CACA,SAASV,GAAY1yB,EAAU,CAC7B,IAAIF,EAAQuxB,GACZ,OAAAA,IAAwB,EACfjH,KAAT,OAA2BA,GAAgB,IAC3CpqB,EAAWmqB,GAAkBC,GAAepqB,EAAUF,CAAK,EAC3DA,EAAQgxB,GAEIE,KAAT,KACGlxB,EAAM,cACNkxB,GAAmB,QAHzB,OAIIlxB,EAAQA,EAAM,UACff,EAAqB,EACXe,IAAT,MAA2BA,EAAM,gBAAf,KACdgyB,GACAC,IACD/xB,CACT,CACA,SAASqzB,GAAI7wB,EAAQ,CACnB,GAAaA,IAAT,MAAgC,OAAOA,GAApB,SAA4B,CACjD,GAAmB,OAAOA,EAAO,MAA7B,WAAmC,OAAOkwB,GAAYlwB,CAAM,EAChE,GAAIA,EAAO,WAAahF,EAAoB,OAAOiqB,GAAYjlB,CAAM,CACzE,CACE,MAAM,MAAMgF,EAAuB,IAAK,OAAOhF,CAAM,CAAC,CAAC,CACzD,CACA,SAAS8wB,GAAa1xB,EAAM,CAC1B,IAAI2xB,EAAY,KACdxF,EAAc+C,EAAwB,YAExC,GADS/C,IAAT,OAAyBwF,EAAYxF,EAAY,WACrCwF,GAAR,KAAmB,CACrB,IAAIhR,EAAUuO,EAAwB,UAC7BvO,IAAT,OACIA,EAAUA,EAAQ,YACXA,IAAT,OACIA,EAAUA,EAAQ,UACZA,GAAR,OACGgR,EAAY,CACX,KAAMhR,EAAQ,KAAK,IAAI,SAAUliB,EAAO,CACtC,OAAOA,EAAM,MAAK,CAChC,CAAa,EACD,MAAO,KAEnB,CAOE,GANQkzB,GAAR,OAAsBA,EAAY,CAAE,KAAM,GAAI,MAAO,IAC5CxF,IAAT,OACIA,EAAcqF,GAAkC,EACjDtC,EAAwB,YAAc/C,GACzCA,EAAY,UAAYwF,EACxBxF,EAAcwF,EAAU,KAAKA,EAAU,KAAK,EAC7BxF,IAAX,OACF,IACEA,EAAcwF,EAAU,KAAKA,EAAU,KAAK,EAAI,MAAM3xB,CAAI,EAAG2gB,EAAU,EACvEA,EAAU3gB,EACV2gB,IAEAwL,EAAYxL,CAAO,EAAIlY,GAC3B,OAAAkpB,EAAU,QACHxF,CACT,CACA,SAASyF,GAAkB7C,EAAOluB,EAAQ,CACxC,OAAsB,OAAOA,GAAtB,WAA+BA,EAAOkuB,CAAK,EAAIluB,CACxD,CACA,SAASgxB,GAActwB,EAAS,CAC9B,IAAI6vB,EAAOC,GAAwB,EACnC,OAAOS,GAAkBV,EAAMjC,GAAa5tB,CAAO,CACrD,CACA,SAASuwB,GAAkBV,EAAMzQ,EAASpf,EAAS,CACjD,IAAIke,EAAQ2R,EAAK,MACjB,GAAa3R,IAAT,KAAgB,MAAM,MAAM7Z,EAAuB,GAAG,CAAC,EAC3D6Z,EAAM,oBAAsBle,EAC5B,IAAIwwB,EAAYX,EAAK,UACnBhE,EAAe3N,EAAM,QACvB,GAAa2N,IAAT,KAAuB,CACzB,GAAa2E,IAAT,KAAoB,CACtB,IAAIC,EAAYD,EAAU,KAC1BA,EAAU,KAAO3E,EAAa,KAC9BA,EAAa,KAAO4E,CAC1B,CACIrR,EAAQ,UAAYoR,EAAY3E,EAChC3N,EAAM,QAAU,IACpB,CAEE,GADA2N,EAAegE,EAAK,UACPW,IAAT,KAAoBX,EAAK,cAAgBhE,MACxC,CACHzM,EAAUoR,EAAU,KACpB,IAAIE,EAAqBD,EAAY,KACnCE,EAAmB,KACnB7iB,EAASsR,EACTwR,EAAqC,GACvC,EAAG,CACD,IAAI3jB,EAAaa,EAAO,KAAO,WAC/B,GACEb,IAAea,EAAO,MACjBoe,GAAgCjf,KAAgBA,GAChDR,GAAcQ,KAAgBA,EACnC,CACA,IAAI4jB,EAAa/iB,EAAO,WACxB,GAAU+iB,IAAN,EACOF,IAAT,OACGA,EAAmBA,EAAiB,KACnC,CACE,KAAM,EACN,WAAY,EACZ,QAAS,KACT,OAAQ7iB,EAAO,OACf,cAAeA,EAAO,cACtB,WAAYA,EAAO,WACnB,KAAM,IACtB,GACYb,IAAeqY,KACZsL,EAAqC,aAClCnkB,GAAcokB,KAAgBA,EAAY,CAClD/iB,EAASA,EAAO,KAChB+iB,IAAevL,KACZsL,EAAqC,IACxC,QACV,MACW3jB,EAAa,CACZ,KAAM,EACN,WAAYa,EAAO,WACnB,QAAS,KACT,OAAQA,EAAO,OACf,cAAeA,EAAO,cACtB,WAAYA,EAAO,WACnB,KAAM,MAEG6iB,IAAT,MACMD,EAAoBC,EAAmB1jB,EACxCwjB,EAAY5E,GACZ8E,EAAmBA,EAAiB,KAAO1jB,EAC/C0gB,EAAwB,OAASkD,EACjC1E,IAAkC0E,EACvC5jB,EAAaa,EAAO,OACpBkgB,IACEhuB,EAAQ6rB,EAAc5e,CAAU,EAClC4e,EAAe/d,EAAO,cAClBA,EAAO,WACP9N,EAAQ6rB,EAAc5e,CAAU,CAC5C,MACS4jB,EAAa,CACZ,KAAM5jB,EACN,WAAYa,EAAO,WACnB,QAASA,EAAO,QAChB,OAAQA,EAAO,OACf,cAAeA,EAAO,cACtB,WAAYA,EAAO,WACnB,KAAM,MAEG6iB,IAAT,MACMD,EAAoBC,EAAmBE,EACxCJ,EAAY5E,GACZ8E,EAAmBA,EAAiB,KAAOE,EAC/ClD,EAAwB,OAAS1gB,EACjCkf,IAAkClf,EACvCa,EAASA,EAAO,IACtB,OAAsBA,IAAT,MAAmBA,IAAWsR,GAIvC,GAHSuR,IAAT,KACKF,EAAY5E,EACZ8E,EAAiB,KAAOD,EAE3B,CAACrV,GAASwQ,EAAcgE,EAAK,aAAa,IACxCZ,GAAmB,GACrB2B,IACI5wB,EAAUulB,GAA0CvlB,IAAT,OAE/C,MAAMA,EACR6vB,EAAK,cAAgBhE,EACrBgE,EAAK,UAAYY,EACjBZ,EAAK,UAAYc,EACjBzS,EAAM,kBAAoB2N,CAC9B,CACE,OAAS2E,IAAT,OAAuBtS,EAAM,MAAQ,GAC9B,CAAC2R,EAAK,cAAe3R,EAAM,QAAQ,CAC5C,CACA,SAAS4S,GAAgB9wB,EAAS,CAChC,IAAI6vB,EAAOC,GAAwB,EACjC5R,EAAQ2R,EAAK,MACf,GAAa3R,IAAT,KAAgB,MAAM,MAAM7Z,EAAuB,GAAG,CAAC,EAC3D6Z,EAAM,oBAAsBle,EAC5B,IAAI+wB,EAAW7S,EAAM,SACnB8S,EAAwB9S,EAAM,QAC9B8N,EAAW6D,EAAK,cAClB,GAAamB,IAAT,KAAgC,CAClC9S,EAAM,QAAU,KAChB,IAAIpQ,EAAUkjB,EAAwBA,EAAsB,KAC5D,GAAIhF,EAAWhsB,EAAQgsB,EAAUle,EAAO,MAAM,EAAKA,EAASA,EAAO,WAC5DA,IAAWkjB,GAClB3V,GAAS2Q,EAAU6D,EAAK,aAAa,IAAMZ,GAAmB,IAC9DY,EAAK,cAAgB7D,EACZ6D,EAAK,YAAd,OAA4BA,EAAK,UAAY7D,GAC7C9N,EAAM,kBAAoB8N,CAC9B,CACE,MAAO,CAACA,EAAU+E,CAAQ,CAC5B,CACA,SAASE,GAAwB9wB,EAAWC,EAAaC,EAAmB,CAC1E,IAAI4F,EAAQ0nB,EACVkC,EAAOC,GAAwB,EAC/BoB,EAAuBte,GACzB,GAAIse,EAAsB,CACxB,GAAe7wB,IAAX,OAA8B,MAAM,MAAMgE,EAAuB,GAAG,CAAC,EACzEhE,EAAoBA,EAAiB,CACzC,MAASA,EAAoBD,EAAW,EACtC,IAAI+wB,EAAkB,CAAC9V,IACpBuS,IAAeiC,GAAM,cACtBxvB,GAQF,GANA8wB,IACItB,EAAK,cAAgBxvB,EAAqB4uB,GAAmB,IACjEY,EAAOA,EAAK,MACZuB,GAAaC,GAAiB,KAAK,KAAMprB,EAAO4pB,EAAM1vB,CAAS,EAAG,CAChEA,CACJ,CAAG,EAEC0vB,EAAK,cAAgBzvB,GACrB+wB,GACUtD,KAAT,MAA+BA,GAAmB,cAAc,IAAM,EACvE,CAcA,GAbA5nB,EAAM,OAAS,KACfqrB,GACE,EACA,CAAE,QAAS,MAAM,EACjBC,GAAoB,KAClB,KACAtrB,EACA4pB,EACAxvB,EACAD,GAEF,MAEWimB,KAAT,KAA6B,MAAM,MAAMhiB,EAAuB,GAAG,CAAC,EACxE6sB,GACSzkB,GAAc,KACrB+kB,GAA0BvrB,EAAO7F,EAAaC,CAAiB,CACrE,CACE,OAAOA,CACT,CACA,SAASmxB,GAA0BvrB,EAAO7F,EAAaqxB,EAAkB,CACvExrB,EAAM,OAAS,MACfA,EAAQ,CAAE,YAAa7F,EAAa,MAAOqxB,CAAgB,EAC3DrxB,EAAcutB,EAAwB,YAC7BvtB,IAAT,MACMA,EAAc6vB,GAAkC,EACjDtC,EAAwB,YAAcvtB,EACtCA,EAAY,OAAS,CAAC6F,CAAK,IAC1BwrB,EAAmBrxB,EAAY,OACxBqxB,IAAT,KACKrxB,EAAY,OAAS,CAAC6F,CAAK,EAC5BwrB,EAAiB,KAAKxrB,CAAK,EACrC,CACA,SAASsrB,GAAoBtrB,EAAO+J,EAAM0hB,EAActxB,EAAa,CACnE4P,EAAK,MAAQ0hB,EACb1hB,EAAK,YAAc5P,EACnBuxB,GAAuB3hB,CAAI,GAAK4hB,GAAmB3rB,CAAK,CAC1D,CACA,SAASorB,GAAiBprB,EAAO+J,EAAM7P,EAAW,CAChD,OAAOA,EAAU,UAAY,CAC3BwxB,GAAuB3hB,CAAI,GAAK4hB,GAAmB3rB,CAAK,CAC5D,CAAG,CACH,CACA,SAAS0rB,GAAuB3hB,EAAM,CACpC,IAAI6hB,EAAoB7hB,EAAK,YAC7BA,EAAOA,EAAK,MACZ,GAAI,CACF,IAAIsT,EAAYuO,EAAiB,EACjC,MAAO,CAACxW,GAASrL,EAAMsT,CAAS,CACpC,MAAkB,CACd,MAAO,EACX,CACA,CACA,SAASsO,GAAmB3rB,EAAO,CACjC,IAAI+F,EAAOwS,GAA+BvY,EAAO,CAAC,EACzC+F,IAAT,MAAiB8lB,GAAsB9lB,EAAM/F,EAAO,CAAC,CACvD,CACA,SAAS8rB,GAAexyB,EAAc,CACpC,IAAIswB,EAAOD,GAAuB,EAClC,GAAmB,OAAOrwB,GAAtB,WAAoC,CACtC,IAAIyyB,EAA0BzyB,EAE9B,GADAA,EAAeyyB,EAAuB,EAClChE,GAAqC,CACvC7iB,GAA2B,EAAE,EAC7B,GAAI,CACF6mB,EAAuB,CAC/B,QAAO,CACC7mB,GAA2B,EAAE,CACrC,CACA,CACA,CACE,OAAA0kB,EAAK,cAAgBA,EAAK,UAAYtwB,EACtCswB,EAAK,MAAQ,CACX,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqBQ,GACrB,kBAAmB9wB,GAEdswB,CACT,CACA,SAASoC,GAAqBpC,EAAMzQ,EAASrf,EAAaC,EAAS,CACjE,OAAA6vB,EAAK,UAAY9vB,EACVwwB,GACLV,EACAjC,GACe,OAAO5tB,GAAtB,WAAgCA,EAAUqwB,GAE9C,CACA,SAAS6B,GACPjsB,EACAksB,EACAC,EACAC,EACAt0B,EACA,CACA,GAAIu0B,GAAoBrsB,CAAK,EAAG,MAAM,MAAM5B,EAAuB,GAAG,CAAC,EAEvE,GADA4B,EAAQksB,EAAY,OACPlsB,IAAT,KAAgB,CAClB,IAAIssB,EAAa,CACf,QAASx0B,EACT,OAAQkI,EACR,KAAM,KACN,aAAc,GACd,OAAQ,UACR,MAAO,KACP,OAAQ,KACR,UAAW,CAAA,EACX,KAAM,SAAU4e,EAAU,CACxB0N,EAAW,UAAU,KAAK1N,CAAQ,CAC1C,GAEajpB,EAAqB,IAA9B,KACIw2B,EAAgB,EAAE,EACjBG,EAAW,aAAe,GAC/BF,EAASE,CAAU,EACnBH,EAAkBD,EAAY,QACrBC,IAAT,MACMG,EAAW,KAAOJ,EAAY,QAAUI,EAC1CC,GAAqBL,EAAaI,CAAU,IAC1CA,EAAW,KAAOH,EAAgB,KACnCD,EAAY,QAAUC,EAAgB,KAAOG,EACtD,CACA,CACA,SAASC,GAAqBL,EAAa1xB,EAAM,CAC/C,IAAInB,EAASmB,EAAK,OAChB1C,EAAU0C,EAAK,QACfgyB,EAAYN,EAAY,MAC1B,GAAI1xB,EAAK,aAAc,CACrB,IAAIxB,EAAiBrD,EAAqB,EACxCsD,EAAoB,CAAA,EACtBtD,EAAqB,EAAIsD,EACzB,GAAI,CACF,IAAIC,EAAcG,EAAOmzB,EAAW10B,CAAO,EACzCqB,EAA0BxD,EAAqB,EACxCwD,IAAT,MACEA,EAAwBF,EAAmBC,CAAW,EACxDuzB,GAAwBP,EAAa1xB,EAAMtB,CAAW,CAC5D,OAAapC,EAAO,CACd41B,GAAcR,EAAa1xB,EAAM1D,CAAK,CAC5C,QAAK,CACUkC,IAAT,MACWC,EAAkB,QAA3B,OACCD,EAAe,MAAQC,EAAkB,OACzCtD,EAAqB,EAAIqD,CAClC,CACA,KACI,IAAI,CACDA,EAAiBK,EAAOmzB,EAAW10B,CAAO,EACzC20B,GAAwBP,EAAa1xB,EAAMxB,CAAc,CACjE,OAAa2zB,EAAU,CACjBD,GAAcR,EAAa1xB,EAAMmyB,CAAQ,CAC/C,CACA,CACA,SAASF,GAAwBP,EAAa1xB,EAAMtB,EAAa,CACtDA,IAAT,MACa,OAAOA,GAApB,UACe,OAAOA,EAAY,MAAlC,WACIA,EAAY,KACV,SAAU0zB,EAAW,CACnBC,GAAgBX,EAAa1xB,EAAMoyB,CAAS,CACtD,EACQ,SAAU91B,EAAO,CACf,OAAO41B,GAAcR,EAAa1xB,EAAM1D,CAAK,CACvD,CACA,EACM+1B,GAAgBX,EAAa1xB,EAAMtB,CAAW,CACpD,CACA,SAAS2zB,GAAgBX,EAAaI,EAAYM,EAAW,CAC3DN,EAAW,OAAS,YACpBA,EAAW,MAAQM,EACnBE,GAAsBR,CAAU,EAChCJ,EAAY,MAAQU,EACpBN,EAAaJ,EAAY,QAChBI,IAAT,OACIM,EAAYN,EAAW,KACzBM,IAAcN,EACTJ,EAAY,QAAU,MACrBU,EAAYA,EAAU,KACvBN,EAAW,KAAOM,EACnBL,GAAqBL,EAAaU,CAAS,GACnD,CACA,SAASF,GAAcR,EAAaI,EAAYx1B,EAAO,CACrD,IAAIiE,EAAOmxB,EAAY,QAEvB,GADAA,EAAY,QAAU,KACTnxB,IAAT,KAAe,CACjBA,EAAOA,EAAK,KACZ,GACGuxB,EAAW,OAAS,WAClBA,EAAW,OAASx1B,EACrBg2B,GAAsBR,CAAU,EAC/BA,EAAaA,EAAW,WACtBA,IAAevxB,EAC1B,CACEmxB,EAAY,OAAS,IACvB,CACA,SAASY,GAAsBR,EAAY,CACzCA,EAAaA,EAAW,UACxB,QAAS/0B,EAAI,EAAGA,EAAI+0B,EAAW,OAAQ/0B,OAAS+0B,EAAW/0B,CAAC,GAAC,CAC/D,CACA,SAASw1B,GAAmBC,EAAUjH,EAAU,CAC9C,OAAOA,CACT,CACA,SAASkH,GAAiB5zB,EAAQ6zB,EAAkB,CAClD,GAAIvgB,GAAa,CACf,IAAIwgB,EAAe/M,GAAmB,UACtC,GAAa+M,IAAT,KAAuB,CACzB1yB,EAAG,CACD,IAAI2H,EAA2BslB,EAC/B,GAAI/a,GAAa,CACf,GAAI8O,GAAwB,CAC1BngB,EAAG,CAED,QADI8xB,EAAoC3R,GAElC4R,EAAoB1R,GAClByR,EAAkC,WAAxC,GAEA,CACA,GAAI,CAACC,EAAmB,CACtBD,EAAoC,KACpC,MAAM9xB,CACxB,CAIgB,GAHA8xB,EAAoCzQ,GAClCyQ,EAAkC,aAEvBA,IAAT,KAA4C,CAC9CA,EAAoC,KACpC,MAAM9xB,CACxB,CACA,CACc+xB,EAAoBD,EAAkC,KACtDA,EACWC,IAAT,MAAsCA,IAAR,IAC1BD,EACA,IACpB,CACY,GAAIA,EAAmC,CACrC3R,GAAyBkB,GACvByQ,EAAkC,aAEpChrB,EACWgrB,EAAkC,OAA3C,KACF,MAAM3yB,CACpB,CACA,CACUohB,GAAyBzZ,CAAwB,CAC3D,CACQA,EAA2B,EACnC,CACMA,IAA6B8qB,EAAmBC,EAAa,CAAC,EACpE,CACA,CACE,OAAAA,EAAexD,GAAuB,EACtCwD,EAAa,cAAgBA,EAAa,UAAYD,EACtD9qB,EAA2B,CACzB,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqB2qB,GACrB,kBAAmBG,GAErBC,EAAa,MAAQ/qB,EACrB+qB,EAAeG,GAAiB,KAC9B,KACA5F,EACAtlB,GAEFA,EAAyB,SAAW+qB,EACpC/qB,EAA2B0pB,GAAe,EAAE,EAC5CuB,EAAoBE,GAA2B,KAC7C,KACA7F,EACA,GACAtlB,EAAyB,OAE3BA,EAA2BunB,GAAuB,EAClDyD,EAAoC,CAClC,MAAOF,EACP,SAAU,KACV,OAAQ7zB,EACR,QAAS,MAEX+I,EAAyB,MAAQgrB,EACjCD,EAAelB,GAAoB,KACjC,KACAvE,EACA0F,EACAC,EACAF,GAEFC,EAAkC,SAAWD,EAC7C/qB,EAAyB,cAAgB/I,EAClC,CAAC6zB,EAAkBC,EAAc,EAAE,CAC5C,CACA,SAASK,GAAkBn0B,EAAQ,CACjC,IAAIo0B,EAAY5D,GAAwB,EACxC,OAAO6D,GAAsBD,EAAW9F,GAAatuB,CAAM,CAC7D,CACA,SAASq0B,GAAsBD,EAAWE,EAAkBt0B,EAAQ,CAOlE,GANAs0B,EAAmBrD,GACjBmD,EACAE,EACAZ,IACA,CAAC,EACHU,EAAYpD,GAAcD,EAAiB,EAAE,CAAC,EAE/B,OAAOuD,GAApB,UACSA,IAAT,MACe,OAAOA,EAAiB,MAAvC,WAEA,GAAI,CACF,IAAIpG,EAAQ+B,GAAYqE,CAAgB,CAC9C,OAAahrB,EAAG,CACV,MAAIA,IAAM+d,GAAyBE,GAC7Bje,CACZ,MACO4kB,EAAQoG,EACbA,EAAmB9D,GAAwB,EAC3C,IAAIqC,EAAcyB,EAAiB,MACjC7C,EAAWoB,EAAY,SACzB,OAAA7yB,IAAWs0B,EAAiB,gBACxBjG,EAAwB,OAAS,KACnC2D,GACE,EACA,CAAE,QAAS,MAAM,EACjBuC,GAAwB,KAAK,KAAM1B,EAAa7yB,CAAM,EACtD,IACN,GACS,CAACkuB,EAAOuD,EAAU2C,CAAS,CACpC,CACA,SAASG,GAAwB1B,EAAa7yB,EAAQ,CACpD6yB,EAAY,OAAS7yB,CACvB,CACA,SAASw0B,GAAoBx0B,EAAQ,CACnC,IAAIo0B,EAAY5D,GAAwB,EACtC8D,EAAmBhG,GACrB,GAAagG,IAAT,KACF,OAAOD,GAAsBD,EAAWE,EAAkBt0B,CAAM,EAClEwwB,GAAwB,EACxB4D,EAAYA,EAAU,cACtBE,EAAmB9D,GAAwB,EAC3C,IAAIiB,EAAW6C,EAAiB,MAAM,SACtC,OAAAA,EAAiB,cAAgBt0B,EAC1B,CAACo0B,EAAW3C,EAAU,EAAE,CACjC,CACA,SAASO,GAAiBvqB,EAAKiJ,EAAMnQ,EAAQJ,EAAM,CACjD,OAAAsH,EAAM,CAAE,IAAKA,EAAK,OAAQlH,EAAQ,KAAMJ,EAAM,KAAMuQ,EAAM,KAAM,IAAI,EACpEA,EAAO2d,EAAwB,YACtB3d,IAAT,OACIA,EAAOigB,GAAkC,EAC1CtC,EAAwB,YAAc3d,GACzCnQ,EAASmQ,EAAK,WACLnQ,IAAT,KACKmQ,EAAK,WAAajJ,EAAI,KAAOA,GAC5BtH,EAAOI,EAAO,KACfA,EAAO,KAAOkH,EACdA,EAAI,KAAOtH,EACXuQ,EAAK,WAAajJ,GAChBA,CACT,CACA,SAASgtB,IAAY,CACnB,OAAOjE,GAAwB,EAAG,aACpC,CACA,SAASkE,GAAgBC,EAAYC,EAAWr0B,EAAQJ,EAAM,CAC5D,IAAIowB,EAAOD,GAAuB,EAClCjC,EAAwB,OAASsG,EACjCpE,EAAK,cAAgByB,GACnB,EAAI4C,EACJ,CAAE,QAAS,MAAM,EACjBr0B,EACWJ,IAAX,OAAkB,KAAOA,EAE7B,CACA,SAAS00B,GAAiBF,EAAYC,EAAWr0B,EAAQJ,EAAM,CAC7D,IAAIowB,EAAOC,GAAwB,EACnCrwB,EAAkBA,IAAX,OAAkB,KAAOA,EAChC,IAAIuQ,EAAO6f,EAAK,cAAc,KACrBjC,KAAT,MACSnuB,IAAT,MACA4uB,GAAmB5uB,EAAMmuB,GAAY,cAAc,IAAI,EAClDiC,EAAK,cAAgByB,GAAiB4C,EAAWlkB,EAAMnQ,EAAQJ,CAAI,GAClEkuB,EAAwB,OAASsG,EAClCpE,EAAK,cAAgByB,GACpB,EAAI4C,EACJlkB,EACAnQ,EACAJ,CACR,EACA,CACA,SAAS20B,GAAYv0B,EAAQJ,EAAM,CACjCu0B,GAAgB,QAAS,EAAGn0B,EAAQJ,CAAI,CAC1C,CACA,SAAS2xB,GAAavxB,EAAQJ,EAAM,CAClC00B,GAAiB,KAAM,EAAGt0B,EAAQJ,CAAI,CACxC,CACA,SAAS40B,GAAmBt2B,EAAS,CACnC4vB,EAAwB,OAAS,EACjC,IAAI2G,EAAuB3G,EAAwB,YACnD,GAAa2G,IAAT,KACDA,EAAuBrE,GAAkC,EACvDtC,EAAwB,YAAc2G,EACtCA,EAAqB,OAAS,CAACv2B,CAAO,MACtC,CACH,IAAIw2B,EAASD,EAAqB,OACzBC,IAAT,KACKD,EAAqB,OAAS,CAACv2B,CAAO,EACvCw2B,EAAO,KAAKx2B,CAAO,CAC3B,CACA,CACA,SAASy2B,GAAYl5B,EAAU,CAC7B,IAAIwE,EAAMgwB,GAAwB,EAAG,cACrC,OAAAuE,GAAmB,CAAE,IAAKv0B,EAAK,SAAUxE,CAAQ,CAAE,EAC5C,UAAY,CACjB,GAAWuvB,GAAmB,EAAI,MAAM,MAAMxmB,EAAuB,GAAG,CAAC,EACzE,OAAOvE,EAAI,KAAK,MAAM,OAAQ,SAAS,CAC3C,CACA,CACA,SAAS20B,GAAsB50B,EAAQJ,EAAM,CAC3C,OAAO00B,GAAiB,EAAG,EAAGt0B,EAAQJ,CAAI,CAC5C,CACA,SAASi1B,GAAmB70B,EAAQJ,EAAM,CACxC,OAAO00B,GAAiB,EAAG,EAAGt0B,EAAQJ,CAAI,CAC5C,CACA,SAASk1B,GAAuB90B,EAAQC,EAAK,CAC3C,GAAmB,OAAOA,GAAtB,WAA2B,CAC7BD,EAASA,EAAM,EACf,IAAI+0B,EAAa90B,EAAID,CAAM,EAC3B,OAAO,UAAY,CACF,OAAO+0B,GAAtB,WAAmCA,EAAU,EAAK90B,EAAI,IAAI,CAChE,CACA,CACE,GAAaA,GAAT,KACF,OACGD,EAASA,EAAM,EACfC,EAAI,QAAUD,EACf,UAAY,CACVC,EAAI,QAAU,IACtB,CAEA,CACA,SAAS+0B,GAAuB/0B,EAAKD,EAAQJ,EAAM,CACjDA,EAAgBA,GAAT,KAAmCA,EAAK,OAAO,CAACK,CAAG,CAAC,EAAI,KAC/Dq0B,GAAiB,EAAG,EAAGQ,GAAuB,KAAK,KAAM90B,EAAQC,CAAG,EAAGL,CAAI,CAC7E,CACA,SAASq1B,IAAkB,CAAA,CAC3B,SAASC,GAAez5B,EAAUmE,EAAM,CACtC,IAAIowB,EAAOC,GAAwB,EACnCrwB,EAAkBA,IAAX,OAAkB,KAAOA,EAChC,IAAIgzB,EAAY5C,EAAK,cACrB,OAAapwB,IAAT,MAAiB4uB,GAAmB5uB,EAAMgzB,EAAU,CAAC,CAAC,EACjDA,EAAU,CAAC,GACpB5C,EAAK,cAAgB,CAACv0B,EAAUmE,CAAI,EAC7BnE,EACT,CACA,SAAS05B,GAAWC,EAAYx1B,EAAM,CACpC,IAAIowB,EAAOC,GAAwB,EACnCrwB,EAAkBA,IAAX,OAAkB,KAAOA,EAChC,IAAIgzB,EAAY5C,EAAK,cACrB,GAAapwB,IAAT,MAAiB4uB,GAAmB5uB,EAAMgzB,EAAU,CAAC,CAAC,EACxD,OAAOA,EAAU,CAAC,EAEpB,GADAA,EAAYwC,EAAU,EAClBjH,GAAqC,CACvC7iB,GAA2B,EAAE,EAC7B,GAAI,CACF8pB,EAAU,CAChB,QAAK,CACC9pB,GAA2B,EAAE,CACnC,CACA,CACE,OAAA0kB,EAAK,cAAgB,CAAC4C,EAAWhzB,CAAI,EAC9BgzB,CACT,CACA,SAASyC,GAAuBrF,EAAMlwB,EAAOC,EAAc,CACzD,OACaA,IAAX,QACQ6M,GAAc,YACb,EAAAyf,GAAgC,QAEjC2D,EAAK,cAAgBlwB,GAC/BkwB,EAAK,cAAgBjwB,EACrBiwB,EAAOsF,GAAmB,EAC1BxH,EAAwB,OAASkC,EACjC1D,IAAkC0D,EAC3BjwB,EACT,CACA,SAASw1B,GAAwBvF,EAAMwF,EAAW11B,EAAOC,EAAc,CACrE,OAAIyb,GAAS1b,EAAO01B,CAAS,EAAU11B,EAC1B4sB,GAA6B,UAAtC,MAECsD,EAAOqF,GAAuBrF,EAAMlwB,EAAOC,CAAY,EACxDyb,GAASwU,EAAMwF,CAAS,IAAMpG,GAAmB,IACjDY,GAGK,EAAApjB,GAAc,KACbA,GAAc,YACb,EAAAyf,GAAgC,SAEjC+C,GAAmB,GAAMY,EAAK,cAAgBlwB,IACxDkwB,EAAOsF,GAAmB,EAC1BxH,EAAwB,OAASkC,EACjC1D,IAAkC0D,EAC3BwF,EACT,CACA,SAASC,GAAgBrvB,EAAOiY,EAAOqX,EAAcC,EAAel6B,EAAU,CAC5E,IAAIwT,EAAmBxH,EAAwB,EAC/CA,EAAwB,EAChBwH,IAAN,GAA0B,EAAIA,EAAmBA,EAAmB,EACtE,IAAI7P,EAAiBrD,EAAqB,EACxCsD,EAAoB,CAAA,EACtBtD,EAAqB,EAAIsD,EACzBs0B,GAA2BvtB,EAAO,GAAIiY,EAAOqX,CAAY,EACzD,GAAI,CACF,IAAIp2B,EAAc7D,EAAQ,EACxB8D,EAA0BxD,EAAqB,EAGjD,GAFSwD,IAAT,MACEA,EAAwBF,EAAmBC,CAAW,EAE7CA,IAAT,MACa,OAAOA,GAApB,UACe,OAAOA,EAAY,MAAlC,WACA,CACA,IAAIs2B,EAA2B3P,GAC7B3mB,EACAq2B,GAEFE,GACEzvB,EACAiY,EACAuX,EACAE,GAAkB1vB,CAAK,EAE/B,MACMyvB,GACEzvB,EACAiY,EACAsX,EACAG,GAAkB1vB,CAAK,EAE/B,OAAWlJ,EAAO,CACd24B,GACEzvB,EACAiY,EACA,CAAE,KAAM,UAAY,CAAA,EAAI,OAAQ,WAAY,OAAQnhB,CAAK,EACzD44B,GAAiB,EAEvB,QAAG,CACEruB,EAAwB,EAAIwH,EAClB7P,IAAT,MACWC,EAAkB,QAA3B,OACCD,EAAe,MAAQC,EAAkB,OAC3CtD,EAAqB,EAAIqD,CAChC,CACA,CACA,SAAStD,IAAO,CAAA,CAChB,SAASi6B,GAAoBC,EAAWN,EAAcj2B,EAAQw2B,EAAU,CACtE,GAAUD,EAAU,MAAhB,EAAqB,MAAM,MAAMxxB,EAAuB,GAAG,CAAC,EAChE,IAAI6Z,EAAQ6X,GAA8BF,CAAS,EAAE,MACrDP,GACEO,EACA3X,EACAqX,EACAhuB,EACSjI,IAAT,KACI3D,GACA,UAAY,CACV,OAAAq6B,GAAmBH,CAAS,EACrBv2B,EAAOw2B,CAAQ,CAChC,EAEA,CACA,SAASC,GAA8BF,EAAW,CAChD,IAAII,EAAoBJ,EAAU,cAClC,GAAaI,IAAT,KAA4B,OAAOA,EACvCA,EAAoB,CAClB,cAAe1uB,EACf,UAAWA,EACX,UAAW,KACX,MAAO,CACL,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqB8oB,GACrB,kBAAmB9oB,GAErB,KAAM,MAER,IAAI2uB,EAAoB,CAAA,EACxB,OAAAD,EAAkB,KAAO,CACvB,cAAeC,EACf,UAAWA,EACX,UAAW,KACX,MAAO,CACL,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqB7F,GACrB,kBAAmB6F,GAErB,KAAM,MAERL,EAAU,cAAgBI,EAC1BJ,EAAYA,EAAU,UACbA,IAAT,OAAuBA,EAAU,cAAgBI,GAC1CA,CACT,CACA,SAASD,GAAmBH,EAAW,CACrC,IAAInC,EAAYqC,GAA8BF,CAAS,EAC9CnC,EAAU,OAAnB,OAA4BA,EAAYmC,EAAU,UAAU,eAC5DH,GACEG,EACAnC,EAAU,KAAK,MACf,CAAA,EACAiC,GAAiB,EAErB,CACA,SAASQ,IAA0B,CACjC,OAAO7R,GAAY/b,EAAqB,CAC1C,CACA,SAAS6tB,IAAW,CAClB,OAAOtG,GAAwB,EAAG,aACpC,CACA,SAASuG,IAAgB,CACvB,OAAOvG,GAAwB,EAAG,aACpC,CACA,SAASwG,GAAarwB,EAAO,CAC3B,QAASswB,EAAWtwB,EAAM,OAAiBswB,IAAT,MAAqB,CACrD,OAAQA,EAAS,IAAG,CAClB,IAAK,IACL,IAAK,GACH,IAAI5pB,EAAOgpB,GAAiB,EAC5B1vB,EAAQykB,GAAa/d,CAAI,EACzB,IAAI6pB,EAAU7L,GAAc4L,EAAUtwB,EAAO0G,CAAI,EACxC6pB,IAAT,OACG1E,GAAsB0E,EAASD,EAAU5pB,CAAI,EAC9Cme,GAAoB0L,EAASD,EAAU5pB,CAAI,GAC7C4pB,EAAW,CAAE,MAAOtR,IAAa,EACjChf,EAAM,QAAUswB,EAChB,MACR,CACIA,EAAWA,EAAS,MACxB,CACA,CACA,SAASE,GAAsBxwB,EAAOiY,EAAO5e,EAAQ,CACnD,IAAIqN,EAAOgpB,GAAiB,EAC5Br2B,EAAS,CACP,KAAMqN,EACN,WAAY,EACZ,QAAS,KACT,OAAQrN,EACR,cAAe,GACf,WAAY,KACZ,KAAM,MAERgzB,GAAoBrsB,CAAK,EACrBywB,GAAyBxY,EAAO5e,CAAM,GACpCA,EAASgf,GAA4BrY,EAAOiY,EAAO5e,EAAQqN,CAAI,EACxDrN,IAAT,OACGwyB,GAAsBxyB,EAAQ2G,EAAO0G,CAAI,EAC1CgqB,GAAyBr3B,EAAQ4e,EAAOvR,CAAI,GACpD,CACA,SAAS4mB,GAAiBttB,EAAOiY,EAAO5e,EAAQ,CAC9C,IAAIqN,EAAOgpB,GAAiB,EAC5BD,GAAyBzvB,EAAOiY,EAAO5e,EAAQqN,CAAI,CACrD,CACA,SAAS+oB,GAAyBzvB,EAAOiY,EAAO5e,EAAQqN,EAAM,CAC5D,IAAImB,EAAS,CACX,KAAMnB,EACN,WAAY,EACZ,QAAS,KACT,OAAQrN,EACR,cAAe,GACf,WAAY,KACZ,KAAM,MAER,GAAIgzB,GAAoBrsB,CAAK,EAAGywB,GAAyBxY,EAAOpQ,CAAM,MACjE,CACH,IAAIrH,EAAYR,EAAM,UACtB,GACQA,EAAM,QAAZ,IACUQ,IAAT,MAA4BA,EAAU,QAAhB,KACrBA,EAAYyX,EAAM,oBAA+BzX,IAAT,MAE1C,GAAI,CACF,IAAImwB,EAAe1Y,EAAM,kBACvB2Y,EAAapwB,EAAUmwB,EAAct3B,CAAM,EAG7C,GAFAwO,EAAO,cAAgB,GACvBA,EAAO,WAAa+oB,EAChBxb,GAASwb,EAAYD,CAAY,EACnC,OACEvY,GAAgBpY,EAAOiY,EAAOpQ,EAAQ,CAAC,EAC9BuY,KAAT,MAA+BrI,GAA+B,EAC9D,EAEZ,MAAsB,CACtB,QAAO,CACP,CAEI,GADA1e,EAASgf,GAA4BrY,EAAOiY,EAAOpQ,EAAQnB,CAAI,EAClDrN,IAAT,KACF,OACEwyB,GAAsBxyB,EAAQ2G,EAAO0G,CAAI,EACzCgqB,GAAyBr3B,EAAQ4e,EAAOvR,CAAI,EAC5C,EAER,CACE,MAAO,EACT,CACA,SAAS6mB,GAA2BvtB,EAAO6wB,EAAqB5Y,EAAO5e,EAAQ,CAU7E,GATAA,EAAS,CACP,KAAM,EACN,WAAYqmB,GAAqB,EACjC,QAAS,KACT,OAAQrmB,EACR,cAAe,GACf,WAAY,KACZ,KAAM,MAEJgzB,GAAoBrsB,CAAK,GAC3B,GAAI6wB,EAAqB,MAAM,MAAMzyB,EAAuB,GAAG,CAAC,OAE/DyyB,EAAsBxY,GACrBrY,EACAiY,EACA5e,EACA,GAESw3B,IAAT,MACEhF,GAAsBgF,EAAqB7wB,EAAO,CAAC,CAC3D,CACA,SAASqsB,GAAoBrsB,EAAO,CAClC,IAAIQ,EAAYR,EAAM,UACtB,OACEA,IAAU0nB,GACAlnB,IAAT,MAAsBA,IAAcknB,CAEzC,CACA,SAAS+I,GAAyBxY,EAAOpQ,EAAQ,CAC/CigB,GAA6CD,GAC3C,GACF,IAAI3P,EAAUD,EAAM,QACXC,IAAT,KACKrQ,EAAO,KAAOA,GACbA,EAAO,KAAOqQ,EAAQ,KAAQA,EAAQ,KAAOrQ,GACnDoQ,EAAM,QAAUpQ,CAClB,CACA,SAAS6oB,GAAyB3qB,EAAMkS,EAAOvR,EAAM,CACnD,GAAWA,EAAO,QAAU,CAC1B,IAAIoe,EAAa7M,EAAM,MACvB6M,GAAc/e,EAAK,aACnBW,GAAQoe,EACR7M,EAAM,MAAQvR,EACduB,GAAkBlC,EAAMW,CAAI,CAChC,CACA,CACA,IAAIoiB,GAAwB,CAC1B,YAAazK,GACb,IAAK4L,GACL,YAAa9B,GACb,WAAYA,GACZ,UAAWA,GACX,oBAAqBA,GACrB,gBAAiBA,GACjB,mBAAoBA,GACpB,QAASA,GACT,WAAYA,GACZ,OAAQA,GACR,SAAUA,GACV,cAAeA,GACf,iBAAkBA,GAClB,cAAeA,GACf,qBAAsBA,GACtB,MAAOA,GACP,wBAAyBA,GACzB,aAAcA,GACd,eAAgBA,GAChB,cAAeA,GACf,aAAcA,GACd,gBAAiBA,IAEnBW,GAAsB,eAAiBX,GACvC,IAAIO,GAAyB,CACzB,YAAarK,GACb,IAAK4L,GACL,YAAa,SAAU50B,EAAUmE,EAAM,CACrC,OAAAmwB,GAAuB,EAAG,cAAgB,CACxCt0B,EACWmE,IAAX,OAAkB,KAAOA,GAEpBnE,CACb,EACI,WAAYgpB,GACZ,UAAW8P,GACX,oBAAqB,SAAUt0B,EAAKD,EAAQJ,EAAM,CAChDA,EAAgBA,GAAT,KAAmCA,EAAK,OAAO,CAACK,CAAG,CAAC,EAAI,KAC/Dk0B,GACE,QACA,EACAW,GAAuB,KAAK,KAAM90B,EAAQC,CAAG,EAC7CL,EAER,EACI,gBAAiB,SAAUI,EAAQJ,EAAM,CACvC,OAAOu0B,GAAgB,QAAS,EAAGn0B,EAAQJ,CAAI,CACrD,EACI,mBAAoB,SAAUI,EAAQJ,EAAM,CAC1Cu0B,GAAgB,EAAG,EAAGn0B,EAAQJ,CAAI,CACxC,EACI,QAAS,SAAUw1B,EAAYx1B,EAAM,CACnC,IAAIowB,EAAOD,GAAuB,EAClCnwB,EAAkBA,IAAX,OAAkB,KAAOA,EAChC,IAAI6jB,EAAY2R,EAAU,EAC1B,GAAIjH,GAAqC,CACvC7iB,GAA2B,EAAE,EAC7B,GAAI,CACF8pB,EAAU,CACpB,QAAS,CACC9pB,GAA2B,EAAE,CACvC,CACA,CACM,OAAA0kB,EAAK,cAAgB,CAACvM,EAAW7jB,CAAI,EAC9B6jB,CACb,EACI,WAAY,SAAUtjB,EAASC,EAAYC,EAAM,CAC/C,IAAI2vB,EAAOD,GAAuB,EAClC,GAAe1vB,IAAX,OAAiB,CACnB,IAAIX,EAAeW,EAAKD,CAAU,EAClC,GAAI+tB,GAAqC,CACvC7iB,GAA2B,EAAE,EAC7B,GAAI,CACFjL,EAAKD,CAAU,CAC3B,QAAW,CACCkL,GAA2B,EAAE,CACzC,CACA,CACA,MAAa5L,EAAeU,EACtB,OAAA4vB,EAAK,cAAgBA,EAAK,UAAYtwB,EACtCS,EAAU,CACR,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqBA,EACrB,kBAAmBT,GAErBswB,EAAK,MAAQ7vB,EACbA,EAAUA,EAAQ,SAAWy2B,GAAsB,KACjD,KACA9I,EACA3tB,GAEK,CAAC6vB,EAAK,cAAe7vB,CAAO,CACzC,EACI,OAAQ,SAAUJ,EAAc,CAC9B,IAAIiwB,EAAOD,GAAuB,EAClC,OAAAhwB,EAAe,CAAE,QAASA,CAAY,EAC9BiwB,EAAK,cAAgBjwB,CACnC,EACI,SAAU,SAAUL,EAAc,CAChCA,EAAewyB,GAAexyB,CAAY,EAC1C,IAAI2e,EAAQ3e,EAAa,MACvBwxB,EAAWwC,GAAiB,KAAK,KAAM5F,EAAyBzP,CAAK,EACvE,OAAAA,EAAM,SAAW6S,EACV,CAACxxB,EAAa,cAAewxB,CAAQ,CAClD,EACI,cAAe+D,GACf,iBAAkB,SAAUn1B,EAAOC,EAAc,CAC/C,IAAIiwB,EAAOD,GAAuB,EAClC,OAAOsF,GAAuBrF,EAAMlwB,EAAOC,CAAY,CAC7D,EACI,cAAe,UAAY,CACzB,IAAI8zB,EAAY3B,GAAe,EAAE,EACjC,OAAA2B,EAAY4B,GAAgB,KAC1B,KACA3H,EACA+F,EAAU,MACV,GACA,IAEF9D,GAAuB,EAAG,cAAgB8D,EACnC,CAAC,GAAIA,CAAS,CAC3B,EACI,qBAAsB,SAAUvzB,EAAWC,EAAaC,EAAmB,CACzE,IAAI4F,EAAQ0nB,EACVkC,EAAOD,GAAuB,EAChC,GAAIhd,GAAa,CACf,GAAevS,IAAX,OACF,MAAM,MAAMgE,EAAuB,GAAG,CAAC,EACzChE,EAAoBA,EAAiB,CAC7C,KAAa,CAEL,GADAA,EAAoBD,EAAW,EAClBimB,KAAT,KACF,MAAM,MAAMhiB,EAAuB,GAAG,CAAC,EAClC6nB,GAAgC,KACrCsF,GAA0BvrB,EAAO7F,EAAaC,CAAiB,CACzE,CACMwvB,EAAK,cAAgBxvB,EACrB,IAAI2P,EAAO,CAAE,MAAO3P,EAAmB,YAAaD,CAAW,EAC/D,OAAAyvB,EAAK,MAAQ7f,EACbokB,GAAY/C,GAAiB,KAAK,KAAMprB,EAAO+J,EAAM7P,CAAS,EAAG,CAC/DA,CACR,CAAO,EACD8F,EAAM,OAAS,KACfqrB,GACE,EACA,CAAE,QAAS,MAAM,EACjBC,GAAoB,KAClB,KACAtrB,EACA+J,EACA3P,EACAD,GAEF,MAEKC,CACb,EACI,MAAO,UAAY,CACjB,IAAIwvB,EAAOD,GAAuB,EAChCmH,EAAmB1Q,GAAmB,iBACxC,GAAIzT,GAAa,CACf,IAAIvK,EAA2ByY,GAC3BkW,EAAmBnW,GACvBxY,GAEI2uB,EAAmB,EAAE,GAAM,GAAK3rB,GAAM2rB,CAAgB,EAAI,IAC1D,SAAS,EAAE,EAAI3uB,EACnB0uB,EACE,IAAMA,EAAmB,KAAO1uB,EAClCA,EAA2B4lB,KAC3B,EAAI5lB,IACD0uB,GAAoB,IAAM1uB,EAAyB,SAAS,EAAE,GACjE0uB,GAAoB,GAC5B,MACS1uB,EAA2B8lB,KACzB4I,EACC,IACAA,EACA,KACA1uB,EAAyB,SAAS,EAAE,EACpC,IACN,OAAQwnB,EAAK,cAAgBkH,CACnC,EACI,wBAAyBZ,GACzB,aAAcjD,GACd,eAAgBA,GAChB,cAAe,SAAUnzB,EAAa,CACpC,IAAI8vB,EAAOD,GAAuB,EAClCC,EAAK,cAAgBA,EAAK,UAAY9vB,EACtC,IAAIme,EAAQ,CACV,QAAS,KACT,MAAO,EACP,SAAU,KACV,oBAAqB,KACrB,kBAAmB,MAErB,OAAA2R,EAAK,MAAQ3R,EACb2R,EAAO2D,GAA2B,KAChC,KACA7F,EACA,GACAzP,GAEFA,EAAM,SAAW2R,EACV,CAAC9vB,EAAa8vB,CAAI,CAC/B,EACI,aAAcM,GACd,gBAAiB,UAAY,CAC3B,OAAQP,GAAuB,EAAG,cAAgB0G,GAAa,KAC7D,KACA3I,EAER,EACI,eAAgB,SAAUryB,EAAU,CAClC,IAAIu0B,EAAOD,GAAuB,EAChC9vB,EAAM,CAAE,KAAMxE,CAAQ,EACxB,OAAAu0B,EAAK,cAAgB/vB,EACd,UAAY,CACjB,GAAW+qB,GAAmB,EAC5B,MAAM,MAAMxmB,EAAuB,GAAG,CAAC,EACzC,OAAOvE,EAAI,KAAK,MAAM,OAAQ,SAAS,CAC/C,CACA,GAEE8uB,GAA0B,CACxB,YAAatK,GACb,IAAK4L,GACL,YAAa6E,GACb,WAAYzQ,GACZ,UAAW8M,GACX,oBAAqByD,GACrB,mBAAoBJ,GACpB,gBAAiBC,GACjB,QAASM,GACT,WAAY1E,GACZ,OAAQyD,GACR,SAAU,UAAY,CACpB,OAAOzD,GAAcD,EAAiB,CAC5C,EACI,cAAeyE,GACf,iBAAkB,SAAUn1B,EAAOC,EAAc,CAC/C,IAAIiwB,EAAOC,GAAwB,EACnC,OAAOsF,GACLvF,EACAjC,GAAY,cACZjuB,EACAC,EAER,EACI,cAAe,UAAY,CACzB,IAAIq3B,EAAoB3G,GAAcD,EAAiB,EAAE,CAAC,EACxD3a,EAAQoa,GAAwB,EAAG,cACrC,MAAO,CACS,OAAOmH,GAArB,UACIA,EACA1H,GAAY0H,CAAiB,EACjCvhB,EAER,EACI,qBAAsBub,GACtB,MAAOmF,GACP,wBAAyBD,GACzB,aAAc1C,GACd,eAAgBA,GAChB,cAAe,SAAU1zB,EAAaC,EAAS,CAC7C,IAAI6vB,EAAOC,GAAwB,EACnC,OAAOmC,GAAqBpC,EAAMjC,GAAa7tB,EAAaC,CAAO,CACzE,EACI,aAAcmwB,GACd,gBAAiBkG,IAErBzH,GAAwB,eAAiB4F,GACzC,IAAIrF,GAA4B,CAC9B,YAAa7K,GACb,IAAK4L,GACL,YAAa6E,GACb,WAAYzQ,GACZ,UAAW8M,GACX,oBAAqByD,GACrB,mBAAoBJ,GACpB,gBAAiBC,GACjB,QAASM,GACT,WAAYlE,GACZ,OAAQiD,GACR,SAAU,UAAY,CACpB,OAAOjD,GAAgBT,EAAiB,CAC5C,EACE,cAAeyE,GACf,iBAAkB,SAAUn1B,EAAOC,EAAc,CAC/C,IAAIiwB,EAAOC,GAAwB,EACnC,OAAgBlC,KAAT,KACHsH,GAAuBrF,EAAMlwB,EAAOC,CAAY,EAChDw1B,GACEvF,EACAjC,GAAY,cACZjuB,EACAC,EAEV,EACE,cAAe,UAAY,CACzB,IAAIq3B,EAAoBnG,GAAgBT,EAAiB,EAAE,CAAC,EAC1D3a,EAAQoa,GAAwB,EAAG,cACrC,MAAO,CACS,OAAOmH,GAArB,UACIA,EACA1H,GAAY0H,CAAiB,EACjCvhB,EAEN,EACE,qBAAsBub,GACtB,MAAOmF,GACP,wBAAyBD,GACzB,aAAcrC,GACd,eAAgBA,GAChB,cAAe,SAAU/zB,EAAaC,EAAS,CAC7C,IAAI6vB,EAAOC,GAAwB,EACnC,OAAalC,KAAT,KACKqE,GAAqBpC,EAAMjC,GAAa7tB,EAAaC,CAAO,GACrE6vB,EAAK,UAAY9vB,EACV,CAACA,EAAa8vB,EAAK,MAAM,QAAQ,EAC5C,EACE,aAAcM,GACd,gBAAiBkG,IAEnBlH,GAA0B,eAAiBqF,GAC3C,SAAS0C,GACPjtB,EACAjM,EACAm5B,EACAC,EACA,CACAp5B,EAAOiM,EAAe,cACtBktB,EAA2BA,EAAyBC,EAAWp5B,CAAI,EACnEm5B,EACWA,GAAT,KACIn5B,EACAjD,EAAO,CAAA,EAAIiD,EAAMm5B,CAAwB,EAC/CltB,EAAe,cAAgBktB,EACzBltB,EAAe,QAArB,IACGA,EAAe,YAAY,UAAYktB,EAC5C,CACA,IAAIE,GAAwB,CAC1B,gBAAiB,SAAUrnB,EAAMjS,EAASzC,EAAU,CAClD0U,EAAOA,EAAK,gBACZ,IAAIrD,EAAOgpB,GAAiB,EAC1B7nB,EAAS4c,GAAa/d,CAAI,EAC5BmB,EAAO,QAAU/P,EACezC,GAAT,OAAsBwS,EAAO,SAAWxS,GAC/DyC,EAAU4sB,GAAc3a,EAAMlC,EAAQnB,CAAI,EACjC5O,IAAT,OACG+zB,GAAsB/zB,EAASiS,EAAMrD,CAAI,EAC1Cme,GAAoB/sB,EAASiS,EAAMrD,CAAI,EAC7C,EACE,oBAAqB,SAAUqD,EAAMjS,EAASzC,EAAU,CACtD0U,EAAOA,EAAK,gBACZ,IAAIrD,EAAOgpB,GAAiB,EAC1B7nB,EAAS4c,GAAa/d,CAAI,EAC5BmB,EAAO,IAAM,EACbA,EAAO,QAAU/P,EACezC,GAAT,OAAsBwS,EAAO,SAAWxS,GAC/DyC,EAAU4sB,GAAc3a,EAAMlC,EAAQnB,CAAI,EACjC5O,IAAT,OACG+zB,GAAsB/zB,EAASiS,EAAMrD,CAAI,EAC1Cme,GAAoB/sB,EAASiS,EAAMrD,CAAI,EAC7C,EACE,mBAAoB,SAAUqD,EAAM1U,EAAU,CAC5C0U,EAAOA,EAAK,gBACZ,IAAIrD,EAAOgpB,GAAiB,EAC1B7nB,EAAS4c,GAAa/d,CAAI,EAC5BmB,EAAO,IAAM,EACmBxS,GAAT,OAAsBwS,EAAO,SAAWxS,GAC/DA,EAAWqvB,GAAc3a,EAAMlC,EAAQnB,CAAI,EAClCrR,IAAT,OACGw2B,GAAsBx2B,EAAU0U,EAAMrD,CAAI,EAC3Cme,GAAoBxvB,EAAU0U,EAAMrD,CAAI,EAC9C,GAEA,SAAS2qB,GACPrtB,EACAjM,EACAu5B,EACAC,EACAvE,EACAjH,EACAyL,EACA,CACA,OAAAxtB,EAAiBA,EAAe,UACV,OAAOA,EAAe,uBAArC,WACHA,EAAe,sBAAsButB,EAAUxL,EAAUyL,CAAW,EACpEz5B,EAAK,WAAaA,EAAK,UAAU,qBAC/B,CAACsd,GAAaic,EAAUC,CAAQ,GAAK,CAAClc,GAAa2X,EAAUjH,CAAQ,EACrE,EACR,CACA,SAAS0L,GACPztB,EACAgY,EACAuV,EACAC,EACA,CACAxtB,EAAiBgY,EAAS,MACX,OAAOA,EAAS,2BAA/B,YACEA,EAAS,0BAA0BuV,EAAUC,CAAW,EAC3C,OAAOxV,EAAS,kCAA/B,YACEA,EAAS,iCAAiCuV,EAAUC,CAAW,EACjExV,EAAS,QAAUhY,GACjBotB,GAAsB,oBAAoBpV,EAAUA,EAAS,MAAO,IAAI,CAC5E,CACA,SAAS0V,GAA2B18B,EAAW28B,EAAW,CACxD,IAAIJ,EAAWI,EACf,GAAI,QAASA,EAAW,CACtBJ,EAAW,CAAA,EACX,QAAS39B,KAAY+9B,EACT/9B,IAAV,QAAuB29B,EAAS39B,CAAQ,EAAI+9B,EAAU/9B,CAAQ,EACpE,CACE,GAAKoB,EAAYA,EAAU,aAAe,CACxCu8B,IAAaI,IAAcJ,EAAWz8B,EAAO,CAAA,EAAIy8B,CAAQ,GACzD,QAASK,KAAe58B,EACXu8B,EAASK,CAAW,IAA/B,SACGL,EAASK,CAAW,EAAI58B,EAAU48B,CAAW,EACtD,CACE,OAAOL,CACT,CACA,SAASM,GAAuB/6B,EAAO,CACrCmB,GAAkBnB,CAAK,CACzB,CACA,SAASg7B,GAAqBh7B,EAAO,CACnC,QAAQ,MAAMA,CAAK,CACrB,CACA,SAASi7B,GAA0Bj7B,EAAO,CACxCmB,GAAkBnB,CAAK,CACzB,CACA,SAASk7B,GAAiBjsB,EAAMksB,EAAW,CACzC,GAAI,CACF,IAAIC,EAAkBnsB,EAAK,gBAC3BmsB,EAAgBD,EAAU,MAAO,CAAE,eAAgBA,EAAU,MAAO,CACxE,OAAWE,EAAM,CACb,WAAW,UAAY,CACrB,MAAMA,CACZ,CAAK,CACL,CACA,CACA,SAASC,GAAersB,EAAMssB,EAAUJ,EAAW,CACjD,GAAI,CACF,IAAIK,EAAgBvsB,EAAK,cACzBusB,EAAcL,EAAU,MAAO,CAC7B,eAAgBA,EAAU,MAC1B,cAAqBI,EAAS,MAAf,EAAqBA,EAAS,UAAY,IAC/D,CAAK,CACL,OAAWE,EAAM,CACb,WAAW,UAAY,CACrB,MAAMA,CACZ,CAAK,CACL,CACA,CACA,SAASC,GAAsBzsB,EAAMksB,EAAWvrB,EAAM,CACpD,OAAAA,EAAO+d,GAAa/d,CAAI,EACxBA,EAAK,IAAM,EACXA,EAAK,QAAU,CAAE,QAAS,IAAI,EAC9BA,EAAK,SAAW,UAAY,CAC1BsrB,GAAiBjsB,EAAMksB,CAAS,CACpC,EACSvrB,CACT,CACA,SAAS+rB,GAAuB/rB,EAAM,CACpC,OAAAA,EAAO+d,GAAa/d,CAAI,EACxBA,EAAK,IAAM,EACJA,CACT,CACA,SAASgsB,GAA2B7qB,EAAQ9B,EAAM/F,EAAOiyB,EAAW,CAClE,IAAIU,EAA2B3yB,EAAM,KAAK,yBAC1C,GAAmB,OAAO2yB,GAAtB,WAAgD,CAClD,IAAI77B,EAAQm7B,EAAU,MACtBpqB,EAAO,QAAU,UAAY,CAC3B,OAAO8qB,EAAyB77B,CAAK,CAC3C,EACI+Q,EAAO,SAAW,UAAY,CAC5BuqB,GAAersB,EAAM/F,EAAOiyB,CAAS,CAC3C,CACA,CACE,IAAIloB,EAAO/J,EAAM,UACR+J,IAAT,MACiB,OAAOA,EAAK,mBAA3B,aACClC,EAAO,SAAW,UAAY,CAC7BuqB,GAAersB,EAAM/F,EAAOiyB,CAAS,EACtB,OAAOU,GAAtB,aACYC,KAAT,KACIA,GAAyC,IAAI,IAAI,CAAC,IAAI,CAAC,EACxDA,GAAuC,IAAI,IAAI,GACrD,IAAIC,EAAQZ,EAAU,MACtB,KAAK,kBAAkBA,EAAU,MAAO,CACtC,eAAyBY,IAAT,KAAiBA,EAAQ,EACjD,CAAO,CACP,EACA,CACA,SAASC,GACP/sB,EACA+b,EACAtJ,EACA9e,EACAq5B,EACA,CAEA,GADAva,EAAY,OAAS,MAEV9e,IAAT,MACa,OAAOA,GAApB,UACe,OAAOA,EAAM,MAA5B,WACA,CAUA,GATAooB,EAActJ,EAAY,UACjBsJ,IAAT,MACE/D,GACE+D,EACAtJ,EACAua,EACA,IAEJva,EAAcoO,GAA2B,QAC5BpO,IAAT,KAAsB,CACxB,OAAQA,EAAY,IAAG,CACrB,IAAK,IACL,IAAK,IACH,OACWqO,KAAT,KACImM,GAA+B,EACtBxa,EAAY,YAArB,MACMya,KAAN,IACCA,GAA+B,GACnCza,EAAY,OAAS,KACrBA,EAAY,OAAS,MACrBA,EAAY,MAAQua,EACrBr5B,IAAUmnB,GACLrI,EAAY,OAAS,OACpBsJ,EAActJ,EAAY,YACnBsJ,IAAT,KACKtJ,EAAY,YAAc,IAAI,IAAI,CAAC9e,CAAK,CAAC,EAC1CooB,EAAY,IAAIpoB,CAAK,EACzBw5B,GAAmBntB,EAAMrM,EAAOq5B,CAAe,GACnD,GAEJ,IAAK,IACH,OACGva,EAAY,OAAS,MACtB9e,IAAUmnB,GACLrI,EAAY,OAAS,OACpBsJ,EAActJ,EAAY,YACnBsJ,IAAT,MACMA,EAAc,CACd,YAAa,KACb,gBAAiB,KACjB,WAAY,IAAI,IAAI,CAACpoB,CAAK,CAAC,GAE5B8e,EAAY,YAAcsJ,IACzBtJ,EAAcsJ,EAAY,WACnBtJ,IAAT,KACKsJ,EAAY,WAAa,IAAI,IAAI,CAACpoB,CAAK,CAAC,EACzC8e,EAAY,IAAI9e,CAAK,GAC7Bw5B,GAAmBntB,EAAMrM,EAAOq5B,CAAe,GACnD,EAEZ,CACM,MAAM,MAAM30B,EAAuB,IAAKoa,EAAY,GAAG,CAAC,CAC9D,CACI,OAAA0a,GAAmBntB,EAAMrM,EAAOq5B,CAAe,EAC/CC,GAA+B,EACxB,EACX,CACE,GAAIrmB,GACF,OACGmV,EAAc8E,GAA2B,QACjC9E,IAAT,MACY,EAAAA,EAAY,MAAQ,SAAWA,EAAY,OAAS,KAC3DA,EAAY,OAAS,MACrBA,EAAY,MAAQiR,EACrBr5B,IAAUkiB,KACN7V,EAAO,MAAM3H,EAAuB,GAAG,EAAG,CAAE,MAAO1E,EAAO,EAC5DoiB,GAAoB5B,GAA2BnU,EAAMyS,CAAW,CAAC,KAClE9e,IAAUkiB,KACPkG,EAAc,MAAM1jB,EAAuB,GAAG,EAAG,CACjD,MAAO1E,CACrB,CAAa,EACDoiB,GACE5B,GAA2B4H,EAAatJ,CAAW,CACjE,GACWzS,EAAOA,EAAK,QAAQ,UACpBA,EAAK,OAAS,MACdgtB,GAAmB,CAACA,EACpBhtB,EAAK,OAASgtB,EACdr5B,EAAQwgB,GAA2BxgB,EAAO8e,CAAW,EACrDua,EAAkBP,GACjBzsB,EAAK,UACLrM,EACAq5B,GAEFhO,GAAsBhf,EAAMgtB,CAAe,EACrCE,KAAN,IACGA,GAA+B,IACtC,GAEJ,IAAIE,EAAe,MAAM/0B,EAAuB,GAAG,EAAG,CAAE,MAAO1E,EAAO,EAMtE,GALAy5B,EAAejZ,GAA2BiZ,EAAc3a,CAAW,EAC1D4a,KAAT,KACKA,GAAqC,CAACD,CAAY,EACnDC,GAAmC,KAAKD,CAAY,EAClDF,KAAN,IAAuCA,GAA+B,GACzDnR,IAAT,KAAsB,MAAO,GACjCpoB,EAAQwgB,GAA2BxgB,EAAO8e,CAAW,EACrDA,EAAcsJ,EACd,EAAG,CACD,OAAQtJ,EAAY,IAAG,CACrB,IAAK,GACH,OACGA,EAAY,OAAS,MACrBzS,EAAOgtB,EAAkB,CAACA,EAC1Bva,EAAY,OAASzS,EACrBA,EAAOysB,GAAsBha,EAAY,UAAW9e,EAAOqM,CAAI,EAChEgf,GAAsBvM,EAAazS,CAAI,EACvC,GAEJ,IAAK,GACH,GACI+b,EAActJ,EAAY,KAC3B2a,EAAe3a,EAAY,WACrBA,EAAY,MAAQ,OAA3B,IACkB,OAAOsJ,EAAY,0BAAlC,YACWqR,IAAT,MACgB,OAAOA,EAAa,mBAAnC,aACUP,KAAT,MACC,CAACA,GAAuC,IAAIO,CAAY,IAEhE,OACG3a,EAAY,OAAS,MACrBua,GAAmB,CAACA,EACpBva,EAAY,OAASua,EACrBA,EAAkBN,GAAuBM,CAAe,EACzDL,GACEK,EACAhtB,EACAyS,EACA9e,GAEFqrB,GAAsBvM,EAAaua,CAAe,EAClD,EAEZ,CACIva,EAAcA,EAAY,MAC9B,OAAoBA,IAAT,MACT,MAAO,EACT,CACA,IAAI6a,GAA8B,MAAMj1B,EAAuB,GAAG,CAAC,EACjE4qB,GAAmB,GACrB,SAASsK,GAAkBna,EAASnV,EAAgBuvB,EAAc/sB,EAAa,CAC7ExC,EAAe,MACJmV,IAAT,KACIkL,GAAiBrgB,EAAgB,KAAMuvB,EAAc/sB,CAAW,EAChE4d,GACEpgB,EACAmV,EAAQ,MACRoa,EACA/sB,EAEV,CACA,SAASgtB,GACPra,EACAnV,EACAhP,EACAm8B,EACA3qB,EACA,CACAxR,EAAYA,EAAU,OACtB,IAAI6E,EAAMmK,EAAe,IACzB,GAAI,QAASmtB,EAAW,CACtB,IAAIsC,EAAkB,CAAA,EACtB,QAAS9/B,KAAOw9B,EACJx9B,IAAV,QAAkB8/B,EAAgB9/B,CAAG,EAAIw9B,EAAUx9B,CAAG,EAC5D,MAAS8/B,EAAkBtC,EAWzB,OAVA/S,GAAqBpa,CAAc,EACnCmtB,EAAY5I,GACVpP,EACAnV,EACAhP,EACAy+B,EACA55B,EACA2M,GAEF7S,EAAM41B,GAAoB,EACbpQ,IAAT,MAAoB,CAAC6P,IAErBS,GAAatQ,EAASnV,EAAgBwC,CAAW,EACjDktB,GAA6Bva,EAASnV,EAAgBwC,CAAW,IAErEmG,IAAehZ,GAAOynB,GAAuBpX,CAAc,EAC3DA,EAAe,OAAS,EACxBsvB,GAAkBna,EAASnV,EAAgBmtB,EAAW3qB,CAAW,EAC1DxC,EAAe,MACxB,CACA,SAAS2vB,GACPxa,EACAnV,EACAhP,EACAm8B,EACA3qB,EACA,CACA,GAAa2S,IAAT,KAAkB,CACpB,IAAI3lB,EAAOwB,EAAU,KACrB,OACiB,OAAOxB,GAAtB,YACA,CAACylB,GAAgBzlB,CAAI,GACVA,EAAK,eAAhB,QACSwB,EAAU,UAAnB,MAGGgP,EAAe,IAAM,GACrBA,EAAe,KAAOxQ,EACvBogC,GACEza,EACAnV,EACAxQ,EACA29B,EACA3qB,CACV,IAEI2S,EAAUE,GACRrkB,EAAU,KACV,KACAm8B,EACAntB,EACAA,EAAe,KACfwC,GAEF2S,EAAQ,IAAMnV,EAAe,IAC7BmV,EAAQ,OAASnV,EACTA,EAAe,MAAQmV,EACnC,CAEE,GADA3lB,EAAO2lB,EAAQ,MACX,CAAC0a,GAA8B1a,EAAS3S,CAAW,EAAG,CACxD,IAAIstB,EAAYtgC,EAAK,cAGrB,GAFAwB,EAAYA,EAAU,QACtBA,EAAqBA,IAAT,KAAqBA,EAAYqgB,GACzCrgB,EAAU8+B,EAAW3C,CAAS,GAAKhY,EAAQ,MAAQnV,EAAe,IACpE,OAAO0vB,GAA6Bva,EAASnV,EAAgBwC,CAAW,CAC9E,CACE,OAAAxC,EAAe,OAAS,EACxBmV,EAAUD,GAAqB1lB,EAAM29B,CAAS,EAC9ChY,EAAQ,IAAMnV,EAAe,IAC7BmV,EAAQ,OAASnV,EACTA,EAAe,MAAQmV,CACjC,CACA,SAASya,GACPza,EACAnV,EACAhP,EACAm8B,EACA3qB,EACA,CACA,GAAa2S,IAAT,KAAkB,CACpB,IAAI2a,EAAY3a,EAAQ,cACxB,GACE9D,GAAaye,EAAW3C,CAAS,GACjChY,EAAQ,MAAQnV,EAAe,IAE/B,GACIglB,GAAmB,GACpBhlB,EAAe,aAAemtB,EAAY2C,EAC3CD,GAA8B1a,EAAS3S,CAAW,EAE3C2S,EAAQ,MAAQ,SAAY6P,GAAmB,QAEtD,QACGhlB,EAAe,MAAQmV,EAAQ,MAChCua,GAA6Bva,EAASnV,EAAgBwC,CAAW,CAE3E,CACE,OAAOutB,GACL5a,EACAnV,EACAhP,EACAm8B,EACA3qB,EAEJ,CACA,SAASwtB,GACP7a,EACAnV,EACAwC,EACA2qB,EACA,CACA,IAAIoC,EAAepC,EAAU,SAC3B3E,EAAqBrT,IAAT,KAAmBA,EAAQ,cAAgB,KASzD,GARSA,IAAT,MACWnV,EAAe,YAAxB,OACCA,EAAe,UAAY,CAC1B,YAAa,EACb,gBAAiB,KACjB,YAAa,KACb,aAAc,IACpB,GACmBmtB,EAAU,OAAvB,SAA6B,CAC/B,GAAWntB,EAAe,MAAQ,IAAM,CAGtC,GAFAwoB,EACWA,IAAT,KAAqBA,EAAU,UAAYhmB,EAAcA,EAC9C2S,IAAT,KAAkB,CAEpB,IADAgY,EAAYntB,EAAe,MAAQmV,EAAQ,MACtCoa,EAAe,EAAYpC,IAAT,MACpBoC,EACCA,EAAepC,EAAU,MAAQA,EAAU,WAC1CA,EAAYA,EAAU,QAC3BA,EAAYoC,EAAe,CAAC/G,CACpC,MAAc2E,EAAY,EAAKntB,EAAe,MAAQ,KAChD,OAAOiwB,GACL9a,EACAnV,EACAwoB,EACAhmB,EACA2qB,EAER,CACI,GAAW3qB,EAAc,UACtBxC,EAAe,cAAgB,CAAE,UAAW,EAAG,UAAW,IAAI,EACpDmV,IAAT,MACEkH,GACErc,EACSwoB,IAAT,KAAqBA,EAAU,UAAY,MAEtCA,IAAT,KACIhG,GAAkBxiB,EAAgBwoB,CAAS,EAC3C9F,GAAyB,EAC7BQ,GAA6BljB,CAAc,MAE7C,QACGmtB,EAAYntB,EAAe,MAAQ,UACpCiwB,GACE9a,EACAnV,EACSwoB,IAAT,KAAqBA,EAAU,UAAYhmB,EAAcA,EACzDA,EACA2qB,CACV,CAEA,MACa3E,IAAT,MACKnM,GAAerc,EAAgBwoB,EAAU,SAAS,EACnDhG,GAAkBxiB,EAAgBwoB,CAAS,EAC3CrF,GAA0C,EACzCnjB,EAAe,cAAgB,OACtBmV,IAAT,MAAoBkH,GAAerc,EAAgB,IAAI,EACxD0iB,GAAyB,EACzBS,GAA0C,GAChD,OAAAmM,GAAkBna,EAASnV,EAAgBuvB,EAAc/sB,CAAW,EAC7DxC,EAAe,KACxB,CACA,SAASkwB,GAA0B/a,EAASnV,EAAgB,CAC1D,OAAUmV,IAAT,MAA2BA,EAAQ,MAAf,IACVnV,EAAe,YAAxB,OACCA,EAAe,UAAY,CAC1B,YAAa,EACb,gBAAiB,KACjB,YAAa,KACb,aAAc,IACpB,GACSA,EAAe,OACxB,CACA,SAASiwB,GACP9a,EACAnV,EACAmwB,EACA3tB,EACA4tB,EACA,CACA,IAAIhyB,EAA2B8d,GAAiB,EAChD,OAAA9d,EACWA,IAAT,KACI,KACA,CAAE,OAAQ2c,GAAa,cAAe,KAAM3c,CAAwB,EAC1E4B,EAAe,cAAgB,CAC7B,UAAWmwB,EACX,UAAW/xB,GAEJ+W,IAAT,MAAoBkH,GAAerc,EAAgB,IAAI,EACvD0iB,GAAyB,EACzBQ,GAA6BljB,CAAc,EAClCmV,IAAT,MACE4E,GAA8B5E,EAASnV,EAAgBwC,EAAa,EAAE,EACxExC,EAAe,WAAaowB,EACrB,IACT,CACA,SAASC,GAAsBrwB,EAAgBmtB,EAAW,CACxD,OAAAA,EAAYmD,GACV,CAAE,KAAMnD,EAAU,KAAM,SAAUA,EAAU,QAAQ,EACpDntB,EAAe,MAEjBmtB,EAAU,IAAMntB,EAAe,IAC/BA,EAAe,MAAQmtB,EACvBA,EAAU,OAASntB,EACZmtB,CACT,CACA,SAASoD,GACPpb,EACAnV,EACAwC,EACA,CACA,OAAA4d,GAAqBpgB,EAAgBmV,EAAQ,MAAO,KAAM3S,CAAW,EACrE2S,EAAUkb,GAAsBrwB,EAAgBA,EAAe,YAAY,EAC3EmV,EAAQ,OAAS,EACjBiO,GAAmBpjB,CAAc,EACjCA,EAAe,cAAgB,KACxBmV,CACT,CACA,SAASqb,GAAwBrb,EAASnV,EAAgBwC,EAAa,CACrE,IAAI2qB,EAAYntB,EAAe,aAC7BywB,GAAoBzwB,EAAe,MAAQ,OAA9B,EAEf,GADAA,EAAe,OAAS,KACXmV,IAAT,KAAkB,CACpB,GAAIxM,GAAa,CACf,GAAiBwkB,EAAU,OAAvB,SACF,OACGhY,EAAUkb,GAAsBrwB,EAAgBmtB,CAAS,EACzDntB,EAAe,MAAQ,UACxBkwB,GAA0B,KAAM/a,CAAO,EAyB3C,GAvBA8N,GAAsCjjB,CAAc,GACnDmV,EAAUsC,KACLtC,EAAUub,GACVvb,EACAwC,IAEDxC,EAAmBA,IAAT,MAA4BA,EAAQ,OAAhB,IAAuBA,EAAU,KACvDA,IAAT,OACInV,EAAe,cAAgB,CAC/B,WAAYmV,EACZ,YACWwB,KAAT,KACI,CAAE,GAAIC,GAAe,SAAUC,EAAmB,EAClD,KACN,UAAW,UACX,gBAAiB,MAElBrU,EAAcqT,GAAkCV,CAAO,EACvD3S,EAAY,OAASxC,EACrBA,EAAe,MAAQwC,EACvBgV,GAAuBxX,EACvByX,GAAyB,OAC3BtC,EAAU,KACFA,IAAT,KAAkB,MAAM0C,GAAyB7X,CAAc,EACnE,OAAAA,EAAe,MAAQ,UAChB,IACb,CACI,OAAOqwB,GAAsBrwB,EAAgBmtB,CAAS,CAC1D,CACE,IAAI3E,EAAYrT,EAAQ,cACxB,GAAaqT,IAAT,KAAoB,CACtB,IAAImI,EAAanI,EAAU,WAE3B,GADAvF,GAAsCjjB,CAAc,EAChDywB,EACF,GAAIzwB,EAAe,MAAQ,IACxBA,EAAe,OAAS,KACtBA,EAAiBuwB,GAChBpb,EACAnV,EACAwC,CACZ,UACwBxC,EAAe,gBAAxB,KACNA,EAAe,MAAQmV,EAAQ,MAC7BnV,EAAe,OAAS,IACxBA,EAAiB,SACjB,OAAM,MAAM5F,EAAuB,GAAG,CAAC,UAE3C4qB,IACCjL,GAA8B5E,EAASnV,EAAgBwC,EAAa,EAAE,EACvEiuB,GAAoBjuB,EAAc2S,EAAQ,cAA7B,EACd6P,IAAoByL,EACpB,CAEA,GADAtD,EAAY/Q,GAED+Q,IAAT,OACEwD,EAAavsB,GAA0B+oB,EAAW3qB,CAAW,EACzDmuB,IAAN,GAAoBA,IAAenI,EAAU,WAE7C,MACIA,EAAU,UAAYmI,EACxBpc,GAA+BY,EAASwb,CAAU,EAClD9I,GAAsBsF,EAAWhY,EAASwb,CAAU,EACpDtB,GAEJL,GAA+B,EAC/BhvB,EAAiBuwB,GACfpb,EACAnV,EACAwC,EAER,MACO2S,EAAUqT,EAAU,YAClB/Q,GAAyBkB,GAAkBgY,EAAW,WAAW,EACjEnZ,GAAuBxX,EACvB2I,GAAc,GACd+O,GAAkB,KAClBC,GAAyB,GACjBxC,IAAT,MACEmC,GAA4BtX,EAAgBmV,CAAO,EACpDnV,EAAiBqwB,GAAsBrwB,EAAgBmtB,CAAS,EAChEntB,EAAe,OAAS,KAC7B,OAAOA,CACX,CACE,OAAAmV,EAAUD,GAAqBC,EAAQ,MAAO,CAC5C,KAAMgY,EAAU,KAChB,SAAUA,EAAU,QACxB,CAAG,EACDhY,EAAQ,IAAMnV,EAAe,IAC7BA,EAAe,MAAQmV,EACvBA,EAAQ,OAASnV,EACVmV,CACT,CACA,SAASyb,GAAQzb,EAASnV,EAAgB,CACxC,IAAInK,EAAMmK,EAAe,IACzB,GAAanK,IAAT,KACOsf,IAAT,MACWA,EAAQ,MAAjB,OACCnV,EAAe,OAAS,aACxB,CACH,GAAmB,OAAOnK,GAAtB,YAA0C,OAAOA,GAApB,SAC/B,MAAM,MAAMuE,EAAuB,GAAG,CAAC,GAC5B+a,IAAT,MAAoBA,EAAQ,MAAQtf,KACtCmK,EAAe,OAAS,QAC9B,CACA,CACA,SAAS+vB,GACP5a,EACAnV,EACAhP,EACAm8B,EACA3qB,EACA,CAWA,OAVA4X,GAAqBpa,CAAc,EACnChP,EAAYuzB,GACVpP,EACAnV,EACAhP,EACAm8B,EACA,OACA3qB,GAEF2qB,EAAY5H,GAAoB,EACnBpQ,IAAT,MAAoB,CAAC6P,IAErBS,GAAatQ,EAASnV,EAAgBwC,CAAW,EACjDktB,GAA6Bva,EAASnV,EAAgBwC,CAAW,IAErEmG,IAAewkB,GAAa/V,GAAuBpX,CAAc,EACjEA,EAAe,OAAS,EACxBsvB,GAAkBna,EAASnV,EAAgBhP,EAAWwR,CAAW,EAC1DxC,EAAe,MACxB,CACA,SAAS6wB,GACP1b,EACAnV,EACAmtB,EACAn8B,EACAwzB,EACAhiB,EACA,CAWA,OAVA4X,GAAqBpa,CAAc,EACnCA,EAAe,YAAc,KAC7BmtB,EAAYvI,GACV5kB,EACAhP,EACAm8B,EACA3I,GAEFK,GAAqB1P,CAAO,EAC5BnkB,EAAYu0B,GAAoB,EACnBpQ,IAAT,MAAoB,CAAC6P,IAErBS,GAAatQ,EAASnV,EAAgBwC,CAAW,EACjDktB,GAA6Bva,EAASnV,EAAgBwC,CAAW,IAErEmG,IAAe3X,GAAaomB,GAAuBpX,CAAc,EACjEA,EAAe,OAAS,EACxBsvB,GAAkBna,EAASnV,EAAgBmtB,EAAW3qB,CAAW,EAC1DxC,EAAe,MACxB,CACA,SAAS8wB,GACP3b,EACAnV,EACAhP,EACAm8B,EACA3qB,EACA,CAEA,GADA4X,GAAqBpa,CAAc,EACtBA,EAAe,YAAxB,KAAmC,CACrC,IAAI9O,EAAU0jB,GACZmc,EAAc//B,EAAU,YACb,OAAO+/B,GAApB,UACWA,IAAT,OACC7/B,EAAUmpB,GAAY0W,CAAW,GACpC7/B,EAAU,IAAIF,EAAUm8B,EAAWj8B,CAAO,EAC1C8O,EAAe,cACJ9O,EAAQ,QAAjB,MAAqCA,EAAQ,QAAnB,OAA2BA,EAAQ,MAAQ,KACvEA,EAAQ,QAAUk8B,GAClBptB,EAAe,UAAY9O,EAC3BA,EAAQ,gBAAkB8O,EAC1B9O,EAAU8O,EAAe,UACzB9O,EAAQ,MAAQi8B,EAChBj8B,EAAQ,MAAQ8O,EAAe,cAC/B9O,EAAQ,KAAO,CAAA,EACfqvB,GAAsBvgB,CAAc,EACpC+wB,EAAc//B,EAAU,YACxBE,EAAQ,QACO,OAAO6/B,GAApB,UAA4CA,IAAT,KAC/B1W,GAAY0W,CAAW,EACvBnc,GACN1jB,EAAQ,MAAQ8O,EAAe,cAC/B+wB,EAAc//B,EAAU,yBACT,OAAO+/B,GAAtB,aACG9D,GACCjtB,EACAhP,EACA+/B,EACA5D,GAEDj8B,EAAQ,MAAQ8O,EAAe,eACnB,OAAOhP,EAAU,0BAAhC,YACiB,OAAOE,EAAQ,yBAA9B,YACgB,OAAOA,EAAQ,2BAA9B,YACgB,OAAOA,EAAQ,oBAA9B,aACA6/B,EAAc7/B,EAAQ,MACT,OAAOA,EAAQ,oBAA9B,YACEA,EAAQ,mBAAkB,EACb,OAAOA,EAAQ,2BAA9B,YACEA,EAAQ,0BAAyB,EACnC6/B,IAAgB7/B,EAAQ,OACtBk8B,GAAsB,oBAAoBl8B,EAASA,EAAQ,MAAO,IAAI,EACxEqwB,GAAmBvhB,EAAgBmtB,EAAWj8B,EAASsR,CAAW,EAClE6e,GAA2C,EAC1CnwB,EAAQ,MAAQ8O,EAAe,eACnB,OAAO9O,EAAQ,mBAA9B,aACG8O,EAAe,OAAS,SAC3BmtB,EAAY,EAChB,SAAsBhY,IAAT,KAAkB,CAC3BjkB,EAAU8O,EAAe,UACzB,IAAIgxB,EAAqBhxB,EAAe,cACtCstB,EAAWI,GAA2B18B,EAAWggC,CAAkB,EACrE9/B,EAAQ,MAAQo8B,EAChB,IAAI2D,EAAa//B,EAAQ,QACvBggC,EAAuBlgC,EAAU,YACnC+/B,EAAcnc,GACD,OAAOsc,GAApB,UACWA,IAAT,OACCH,EAAc1W,GAAY6W,CAAoB,GACjD,IAAIhE,EAA2Bl8B,EAAU,yBACzCkgC,EACiB,OAAOhE,GAAtB,YACe,OAAOh8B,EAAQ,yBAA9B,WACF8/B,EAAqBhxB,EAAe,eAAiBgxB,EACrDE,GACkB,OAAOhgC,EAAQ,kCAA9B,YACgB,OAAOA,EAAQ,2BAA9B,aACA8/B,GAAsBC,IAAeF,IACrCtD,GACEztB,EACA9O,EACAi8B,EACA4D,CACV,EACIzQ,GAAiB,GACjB,IAAI0I,EAAWhpB,EAAe,cAC9B9O,EAAQ,MAAQ83B,EAChBzH,GAAmBvhB,EAAgBmtB,EAAWj8B,EAASsR,CAAW,EAClE6e,GAA2C,EAC3C4P,EAAajxB,EAAe,cAC5BgxB,GAAsBhI,IAAaiI,GAAc3Q,IAC7B,OAAO4M,GAAtB,aACED,GACCjtB,EACAhP,EACAk8B,EACAC,GAED8D,EAAajxB,EAAe,gBAC9BstB,EACChN,IACA+M,GACErtB,EACAhP,EACAs8B,EACAH,EACAnE,EACAiI,EACAF,KAECG,GACiB,OAAOhgC,EAAQ,2BAA9B,YACgB,OAAOA,EAAQ,oBAA9B,aACc,OAAOA,EAAQ,oBAA9B,YACCA,EAAQ,mBAAkB,EACb,OAAOA,EAAQ,2BAA9B,YACEA,EAAQ,0BAAyB,GACtB,OAAOA,EAAQ,mBAA9B,aACG8O,EAAe,OAAS,WACX,OAAO9O,EAAQ,mBAA9B,aACE8O,EAAe,OAAS,SAC1BA,EAAe,cAAgBmtB,EAC/BntB,EAAe,cAAgBixB,GACnC//B,EAAQ,MAAQi8B,EAChBj8B,EAAQ,MAAQ+/B,EAChB//B,EAAQ,QAAU6/B,EAClB5D,EAAYG,IACG,OAAOp8B,EAAQ,mBAA9B,aACE8O,EAAe,OAAS,SAC1BmtB,EAAY,GACrB,KAAS,CACLj8B,EAAU8O,EAAe,UACzBwgB,GAAiBrL,EAASnV,CAAc,EACxC+wB,EAAc/wB,EAAe,cAC7BkxB,EAAuBxD,GAA2B18B,EAAW+/B,CAAW,EACxE7/B,EAAQ,MAAQggC,EAChBhE,EAA2BltB,EAAe,aAC1CgpB,EAAW93B,EAAQ,QACnB+/B,EAAajgC,EAAU,YACvBs8B,EAAW1Y,GACE,OAAOqc,GAApB,UACWA,IAAT,OACC3D,EAAWjT,GAAY4W,CAAU,GACpCD,EAAqBhgC,EAAU,0BAC9BigC,EACgB,OAAOD,GAAtB,YACe,OAAO9/B,EAAQ,yBAA9B,aACgB,OAAOA,EAAQ,kCAA9B,YACgB,OAAOA,EAAQ,2BAA9B,aACA6/B,IAAgB7D,GAA4BlE,IAAasE,IACzDG,GACEztB,EACA9O,EACAi8B,EACAG,CACV,EACIhN,GAAiB,GACjB0I,EAAWhpB,EAAe,cAC1B9O,EAAQ,MAAQ83B,EAChBzH,GAAmBvhB,EAAgBmtB,EAAWj8B,EAASsR,CAAW,EAClE6e,GAA2C,EAC3C,IAAIU,EAAW/hB,EAAe,cAC9B+wB,IAAgB7D,GAChBlE,IAAajH,GACbzB,IACUnL,IAAT,MACUA,EAAQ,eAAjB,MACA+E,GAAsB/E,EAAQ,YAAY,GACxB,OAAO6b,GAAtB,aACE/D,GACCjtB,EACAhP,EACAggC,EACA7D,GAEDpL,EAAW/hB,EAAe,gBAC5BkxB,EACC5Q,IACA+M,GACErtB,EACAhP,EACAkgC,EACA/D,EACAnE,EACAjH,EACAuL,IAEQnY,IAAT,MACUA,EAAQ,eAAjB,MACA+E,GAAsB/E,EAAQ,YAAY,IACzC8b,GACiB,OAAO//B,EAAQ,4BAA9B,YACgB,OAAOA,EAAQ,qBAA9B,aACc,OAAOA,EAAQ,qBAA9B,YACCA,EAAQ,oBAAoBi8B,EAAWpL,EAAUuL,CAAQ,EAC5C,OAAOp8B,EAAQ,4BAA9B,YACEA,EAAQ,2BACNi8B,EACApL,EACAuL,CAClB,GAC2B,OAAOp8B,EAAQ,oBAA9B,aACG8O,EAAe,OAAS,GACZ,OAAO9O,EAAQ,yBAA9B,aACG8O,EAAe,OAAS,QACX,OAAO9O,EAAQ,oBAA9B,YACE6/B,IAAgB5b,EAAQ,eACvB6T,IAAa7T,EAAQ,gBACtBnV,EAAe,OAAS,GACZ,OAAO9O,EAAQ,yBAA9B,YACG6/B,IAAgB5b,EAAQ,eACvB6T,IAAa7T,EAAQ,gBACtBnV,EAAe,OAAS,MAC1BA,EAAe,cAAgBmtB,EAC/BntB,EAAe,cAAgB+hB,GACnC7wB,EAAQ,MAAQi8B,EAChBj8B,EAAQ,MAAQ6wB,EAChB7wB,EAAQ,QAAUo8B,EAClBH,EAAY+D,IACG,OAAOhgC,EAAQ,oBAA9B,YACE6/B,IAAgB5b,EAAQ,eACvB6T,IAAa7T,EAAQ,gBACtBnV,EAAe,OAAS,GACZ,OAAO9O,EAAQ,yBAA9B,YACG6/B,IAAgB5b,EAAQ,eACvB6T,IAAa7T,EAAQ,gBACtBnV,EAAe,OAAS,MAC1BmtB,EAAY,GACrB,CACE,OAAAj8B,EAAUi8B,EACVyD,GAAQzb,EAASnV,CAAc,EAC/BmtB,GAAmBntB,EAAe,MAAQ,OAA9B,EACZ9O,GAAWi8B,GACLj8B,EAAU8O,EAAe,UAC1BhP,EACCm8B,GAA4B,OAAOn8B,EAAU,0BAAhC,WACT,KACAE,EAAQ,OAAM,EACnB8O,EAAe,OAAS,EAChBmV,IAAT,MAAoBgY,GACdntB,EAAe,MAAQogB,GACvBpgB,EACAmV,EAAQ,MACR,KACA3S,GAEDxC,EAAe,MAAQogB,GACtBpgB,EACA,KACAhP,EACAwR,CACZ,GACU8sB,GAAkBna,EAASnV,EAAgBhP,EAAWwR,CAAW,EACpExC,EAAe,cAAgB9O,EAAQ,MACvCikB,EAAUnV,EAAe,OACzBmV,EAAUua,GACTva,EACAnV,EACAwC,CACR,EACS2S,CACT,CACA,SAASgc,GACPhc,EACAnV,EACAuvB,EACA/sB,EACA,CACA,OAAAoW,GAAmB,EACnB5Y,EAAe,OAAS,IACxBsvB,GAAkBna,EAASnV,EAAgBuvB,EAAc/sB,CAAW,EAC7DxC,EAAe,KACxB,CACA,IAAIoxB,GAAmB,CACrB,WAAY,KACZ,YAAa,KACb,UAAW,EACX,gBAAiB,MAEnB,SAASC,GAA4B7uB,EAAa,CAChD,MAAO,CAAE,UAAWA,EAAa,UAAWga,GAAiB,CAAE,CACjE,CACA,SAAS8U,GACPnc,EACAoc,EACA/uB,EACA,CACA,OAAA2S,EAAmBA,IAAT,KAAmBA,EAAQ,WAAa,CAAC3S,EAAc,EACjE+uB,IAAwBpc,GAAWqc,IAC5Brc,CACT,CACA,SAASsc,GAAwBtc,EAASnV,EAAgBwC,EAAa,CACrE,IAAI2qB,EAAYntB,EAAe,aAC7B0xB,EAAe,GACfjB,GAAoBzwB,EAAe,MAAQ,OAA9B,EACbsY,EASF,IARCA,EAAkBmY,KAChBnY,EACUnD,IAAT,MAA6BA,EAAQ,gBAAjB,KAChB,IACO6N,GAAoB,QAAU,KAArC,GACR1K,IAAqBoZ,EAAe,GAAM1xB,EAAe,OAAS,MAClEsY,GAAyBtY,EAAe,MAAQ,MAA9B,EAClBA,EAAe,OAAS,IACXmV,IAAT,KAAkB,CACpB,GAAIxM,GAAa,CA0Bf,GAzBA+oB,EACI5O,GAA+B9iB,CAAc,EAC7CmjB,GAA0C,GAC7ChO,EAAUsC,KACLtC,EAAUub,GACVvb,EACAwC,IAEDxC,EAAmBA,IAAT,MAA4BA,EAAQ,OAAhB,IAAuBA,EAAU,KACvDA,IAAT,OACInV,EAAe,cAAgB,CAC/B,WAAYmV,EACZ,YACWwB,KAAT,KACI,CAAE,GAAIC,GAAe,SAAUC,EAAmB,EAClD,KACN,UAAW,UACX,gBAAiB,MAElBrU,EAAcqT,GAAkCV,CAAO,EACvD3S,EAAY,OAASxC,EACrBA,EAAe,MAAQwC,EACvBgV,GAAuBxX,EACvByX,GAAyB,OAC3BtC,EAAU,KACFA,IAAT,KAAkB,MAAM0C,GAAyB7X,CAAc,EACnE,OAAAyjB,GAA2BtO,CAAO,EAC7BnV,EAAe,MAAQ,GACvBA,EAAe,MAAQ,UACrB,IACb,CACI,IAAI2xB,EAAsBxE,EAAU,SAEpC,OADAA,EAAYA,EAAU,SAClBuE,GAEAvO,GAA0C,EACzCuO,EAAe1xB,EAAe,KAC9B2xB,EAAsBrB,GACrB,CAAE,KAAM,SAAU,SAAUqB,CAAmB,EAC/CD,GAEDvE,EAAY1X,GACX0X,EACAuE,EACAlvB,EACA,MAEDmvB,EAAoB,OAAS3xB,EAC7BmtB,EAAU,OAASntB,EACnB2xB,EAAoB,QAAUxE,EAC9BntB,EAAe,MAAQ2xB,EACvBxE,EAAYntB,EAAe,MAC3BmtB,EAAU,cAAgBkE,GAA4B7uB,CAAW,EACjE2qB,EAAU,WAAamE,GACtBnc,EACAmD,EACA9V,GAEDxC,EAAe,cAAgBoxB,GAChClB,GAA0B,KAAM/C,CAAS,IAE7CrK,GAA+B9iB,CAAc,EACtC4xB,GAA6B5xB,EAAgB2xB,CAAmB,EAC3E,CACE,IAAInJ,EAAYrT,EAAQ,cACxB,GACWqT,IAAT,OACEmJ,EAAsBnJ,EAAU,WAAsBmJ,IAAT,MAC/C,CACA,GAAIlB,EACFzwB,EAAe,MAAQ,KAClB8iB,GAA+B9iB,CAAc,EAC7CA,EAAe,OAAS,KACxBA,EAAiB6xB,GAChB1c,EACAnV,EACAwC,CACZ,GACmBxC,EAAe,gBAAxB,MACGmjB,GAA0C,EAC1CnjB,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAe,OAAS,IACxBA,EAAiB,OACjBmjB,GAA0C,EAC1CwO,EAAsBxE,EAAU,SAChCuE,EAAe1xB,EAAe,KAC9BmtB,EAAYmD,GACX,CAAE,KAAM,UAAW,SAAUnD,EAAU,QAAQ,EAC/CuE,GAEDC,EAAsBlc,GACrBkc,EACAD,EACAlvB,EACA,MAEDmvB,EAAoB,OAAS,EAC7BxE,EAAU,OAASntB,EACnB2xB,EAAoB,OAAS3xB,EAC7BmtB,EAAU,QAAUwE,EACpB3xB,EAAe,MAAQmtB,EACxB/M,GACEpgB,EACAmV,EAAQ,MACR,KACA3S,GAED2qB,EAAYntB,EAAe,MAC3BmtB,EAAU,cACTkE,GAA4B7uB,CAAW,EACxC2qB,EAAU,WAAamE,GACtBnc,EACAmD,EACA9V,GAEDxC,EAAe,cAAgBoxB,GAC/BpxB,EAAiBkwB,GAA0B,KAAM/C,CAAS,WAEhErK,GAA+B9iB,CAAc,EAC9CyjB,GAA2BkO,CAAmB,EAC9C,CAIA,GAHArZ,EACEqZ,EAAoB,aACpBA,EAAoB,YAAY,QAC9BrZ,EAAiB,IAAIwZ,EAASxZ,EAAgB,KAClDA,EAAkBwZ,EAClB3E,EAAY,MAAM/yB,EAAuB,GAAG,CAAC,EAC7C+yB,EAAU,MAAQ,GAClBA,EAAU,OAAS7U,EACnBR,GAAoB,CAAE,MAAOqV,EAAW,OAAQ,KAAM,MAAO,KAAM,EACnEntB,EAAiB6xB,GACf1c,EACAnV,EACAwC,EAER,SACOwiB,IACCjL,GAA8B5E,EAASnV,EAAgBwC,EAAa,EAAE,EACvE8V,GAAyB9V,EAAc2S,EAAQ,cAA7B,EACnB6P,IAAoB1M,EACpB,CAEA,GADAA,EAAkB8D,GAEP9D,IAAT,OACE6U,EAAY/oB,GAA0BkU,EAAiB9V,CAAW,EAC9D2qB,IAAN,GAAmBA,IAAc3E,EAAU,WAE3C,MACIA,EAAU,UAAY2E,EACxB5Y,GAA+BY,EAASgY,CAAS,EACjDtF,GAAsBvP,EAAiBnD,EAASgY,CAAS,EACzDkC,GAEJ7L,GAA0BmO,CAAmB,GAC3C3C,GAA+B,EACjChvB,EAAiB6xB,GACf1c,EACAnV,EACAwC,EAER,MACMghB,GAA0BmO,CAAmB,GACvC3xB,EAAe,OAAS,IACzBA,EAAe,MAAQmV,EAAQ,MAC/BnV,EAAiB,OAChBmV,EAAUqT,EAAU,YACrB/Q,GAAyBkB,GACxBgZ,EAAoB,aAErBna,GAAuBxX,EACvB2I,GAAc,GACd+O,GAAkB,KAClBC,GAAyB,GACjBxC,IAAT,MACEmC,GAA4BtX,EAAgBmV,CAAO,EACpDnV,EAAiB4xB,GAChB5xB,EACAmtB,EAAU,UAEXntB,EAAe,OAAS,MAC/B,OAAOA,CACX,CACE,OAAI0xB,GAEAvO,GAA0C,EACzCwO,EAAsBxE,EAAU,SAChCuE,EAAe1xB,EAAe,KAC9BwoB,EAAYrT,EAAQ,MACpB2c,EAAStJ,EAAU,QACnB2E,EAAYjY,GAAqBsT,EAAW,CAC3C,KAAM,SACN,SAAU2E,EAAU,QAC5B,CAAO,EACAA,EAAU,aAAe3E,EAAU,aAAe,SAC1CsJ,IAAT,KACKH,EAAsBzc,GACrB4c,EACAH,IAEAA,EAAsBlc,GACtBkc,EACAD,EACAlvB,EACA,MAEDmvB,EAAoB,OAAS,GACjCA,EAAoB,OAAS3xB,EAC7BmtB,EAAU,OAASntB,EACnBmtB,EAAU,QAAUwE,EACpB3xB,EAAe,MAAQmtB,EACxB+C,GAA0B,KAAM/C,CAAS,EACxCA,EAAYntB,EAAe,MAC3B2xB,EAAsBxc,EAAQ,MAAM,cAC5Bwc,IAAT,KACKA,EAAsBN,GAA4B7uB,CAAW,GAC5DkvB,EAAeC,EAAoB,UAC5BD,IAAT,MACMlJ,EAAYzN,GAAa,cAC1B2W,EACCA,EAAa,SAAWlJ,EACpB,CAAE,OAAQA,EAAW,KAAMA,CAAS,EACpCkJ,GACLA,EAAelV,GAAiB,EACpCmV,EAAsB,CACrB,UAAWA,EAAoB,UAAYnvB,EAC3C,UAAWkvB,CACvB,GACOvE,EAAU,cAAgBwE,EAC1BxE,EAAU,WAAamE,GACtBnc,EACAmD,EACA9V,GAEDxC,EAAe,cAAgBoxB,GAChClB,GAA0B/a,EAAQ,MAAOgY,CAAS,IAEtDrK,GAA+B9iB,CAAc,EAC7CwC,EAAc2S,EAAQ,MACtBA,EAAU3S,EAAY,QACtBA,EAAc0S,GAAqB1S,EAAa,CAC9C,KAAM,UACN,SAAU2qB,EAAU,QACxB,CAAG,EACD3qB,EAAY,OAASxC,EACrBwC,EAAY,QAAU,KACb2S,IAAT,OACImD,EAAkBtY,EAAe,UAC1BsY,IAAT,MACMtY,EAAe,UAAY,CAACmV,CAAO,EAAKnV,EAAe,OAAS,IAClEsY,EAAgB,KAAKnD,CAAO,GAClCnV,EAAe,MAAQwC,EACvBxC,EAAe,cAAgB,KACxBwC,EACT,CACA,SAASovB,GAA6B5xB,EAAgB+xB,EAAiB,CACrE,OAAAA,EAAkBzB,GAChB,CAAE,KAAM,UAAW,SAAUyB,CAAe,EAC5C/xB,EAAe,MAEjB+xB,EAAgB,OAAS/xB,EACjBA,EAAe,MAAQ+xB,CACjC,CACA,SAASzB,GAAkC0B,EAAgBjd,EAAM,CAC/D,OAAAid,EAAiBhd,GAAqB,GAAIgd,EAAgB,KAAMjd,CAAI,EACpEid,EAAe,MAAQ,EAChBA,CACT,CACA,SAASH,GACP1c,EACAnV,EACAwC,EACA,CACA,OAAA4d,GAAqBpgB,EAAgBmV,EAAQ,MAAO,KAAM3S,CAAW,EACrE2S,EAAUyc,GACR5xB,EACAA,EAAe,aAAa,UAE9BmV,EAAQ,OAAS,EACjBnV,EAAe,cAAgB,KACxBmV,CACT,CACA,SAAS8c,GAA4Bj2B,EAAOwG,EAAagX,EAAiB,CACxExd,EAAM,OAASwG,EACf,IAAIhG,EAAYR,EAAM,UACbQ,IAAT,OAAuBA,EAAU,OAASgG,GAC1C+W,GAAgCvd,EAAM,OAAQwG,EAAagX,CAAe,CAC5E,CACA,SAAS0Y,GACPlyB,EACAmyB,EACAC,EACAC,EACAC,EACA9b,EACA,CACA,IAAI+b,EAAcvyB,EAAe,cACxBuyB,IAAT,KACKvyB,EAAe,cAAgB,CAC9B,YAAamyB,EACb,UAAW,KACX,mBAAoB,EACpB,KAAME,EACN,KAAMD,EACN,SAAUE,EACV,cAAe9b,IAEf+b,EAAY,YAAcJ,EAC3BI,EAAY,UAAY,KACxBA,EAAY,mBAAqB,EACjCA,EAAY,KAAOF,EACnBE,EAAY,KAAOH,EACnBG,EAAY,SAAWD,EACvBC,EAAY,cAAgB/b,EACnC,CACA,SAASgc,GAA4Brd,EAASnV,EAAgBwC,EAAa,CACzE,IAAI2qB,EAAYntB,EAAe,aAC7ByyB,EAActF,EAAU,YACxBmF,EAAWnF,EAAU,KACvBA,EAAYA,EAAU,SACtB,IAAIuF,EAAkB1P,GAAoB,QACxC2P,GAA6BD,EAAkB,KAAzB,EAQxB,GAPAC,GACMD,EAAmBA,EAAkB,EAAK,EAC3C1yB,EAAe,OAAS,KACxB0yB,GAAmB,EACxBp8B,EAAK0sB,GAAqB0P,CAAe,EACzCpD,GAAkBna,EAASnV,EAAgBmtB,EAAW3qB,CAAW,EACjE2qB,EAAYxkB,GAAc6N,GAAgB,EACtC,CAACmc,GAAgCxd,IAAT,MAA2BA,EAAQ,MAAQ,IACrE1e,EAAG,IAAK0e,EAAUnV,EAAe,MAAgBmV,IAAT,MAAoB,CAC1D,GAAWA,EAAQ,MAAf,GACOA,EAAQ,gBAAjB,MACE8c,GAA4B9c,EAAS3S,EAAaxC,CAAc,UACpDmV,EAAQ,MAAf,GACP8c,GAA4B9c,EAAS3S,EAAaxC,CAAc,UAChDmV,EAAQ,QAAjB,KAAwB,CAC/BA,EAAQ,MAAM,OAASA,EACvBA,EAAUA,EAAQ,MAClB,QACR,CACM,GAAIA,IAAYnV,EAAgB,MAAMvJ,EACtC,KAAgB0e,EAAQ,UAAjB,MAA4B,CACjC,GAAaA,EAAQ,SAAjB,MAA2BA,EAAQ,SAAWnV,EAChD,MAAMvJ,EACR0e,EAAUA,EAAQ,MAC1B,CACMA,EAAQ,QAAQ,OAASA,EAAQ,OACjCA,EAAUA,EAAQ,OACxB,CACE,OAAQsd,EAAW,CACjB,IAAK,WAEH,IADAjwB,EAAcxC,EAAe,MACxByyB,EAAc,KAAejwB,IAAT,MACtB2S,EAAU3S,EAAY,UACZ2S,IAAT,MACWkO,GAAmBlO,CAAO,IAAnC,OACCsd,EAAcjwB,GAChBA,EAAcA,EAAY,QAC/BA,EAAciwB,EACLjwB,IAAT,MACMiwB,EAAczyB,EAAe,MAASA,EAAe,MAAQ,OAC7DyyB,EAAcjwB,EAAY,QAAWA,EAAY,QAAU,MACjE0vB,GACElyB,EACA,GACAyyB,EACAjwB,EACA8vB,EACAnF,GAEF,MACF,IAAK,YACL,IAAK,4BAGH,IAFA3qB,EAAc,KACdiwB,EAAczyB,EAAe,MACxBA,EAAe,MAAQ,KAAeyyB,IAAT,MAAwB,CAExD,GADAtd,EAAUsd,EAAY,UACTtd,IAAT,MAA6BkO,GAAmBlO,CAAO,IAAnC,KAAsC,CAC5DnV,EAAe,MAAQyyB,EACvB,KACV,CACQtd,EAAUsd,EAAY,QACtBA,EAAY,QAAUjwB,EACtBA,EAAciwB,EACdA,EAActd,CACtB,CACM+c,GACElyB,EACA,GACAwC,EACA,KACA8vB,EACAnF,GAEF,MACF,IAAK,WACH+E,GACElyB,EACA,GACA,KACA,KACA,OACAmtB,GAEF,MACF,QACEntB,EAAe,cAAgB,IACrC,CACE,OAAOA,EAAe,KACxB,CACA,SAAS0vB,GAA6Bva,EAASnV,EAAgBwC,EAAa,CAG1E,GAFS2S,IAAT,OAAqBnV,EAAe,aAAemV,EAAQ,cAC3D+M,IAAkCliB,EAAe,MACtC,EAAAwC,EAAcxC,EAAe,YACtC,GAAamV,IAAT,MACF,GACG4E,GACC5E,EACAnV,EACAwC,EACA,KAEKA,EAAcxC,EAAe,cAApC,EAEA,OAAO,SACJ,QAAO,KAChB,GAAamV,IAAT,MAAoBnV,EAAe,QAAUmV,EAAQ,MACvD,MAAM,MAAM/a,EAAuB,GAAG,CAAC,EACzC,GAAa4F,EAAe,QAAxB,KAA+B,CAIjC,IAHAmV,EAAUnV,EAAe,MACzBwC,EAAc0S,GAAqBC,EAASA,EAAQ,YAAY,EAChEnV,EAAe,MAAQwC,EAClBA,EAAY,OAASxC,EAAyBmV,EAAQ,UAAjB,MACvCA,EAAUA,EAAQ,QAChB3S,EAAcA,EAAY,QACzB0S,GAAqBC,EAASA,EAAQ,YAAY,EACnD3S,EAAY,OAASxC,EAC1BwC,EAAY,QAAU,IAC1B,CACE,OAAOxC,EAAe,KACxB,CACA,SAAS6vB,GAA8B1a,EAAS3S,EAAa,CAC3D,OAAW2S,EAAQ,MAAQ3S,EAAqB,IAChD2S,EAAUA,EAAQ,aACX,GAASA,IAAT,MAAoB+E,GAAsB/E,CAAO,GAC1D,CACA,SAASyd,GACPzd,EACAnV,EACAwC,EACA,CACA,OAAQxC,EAAe,IAAG,CACxB,IAAK,GACHlC,GAAkBkC,EAAgBA,EAAe,UAAU,aAAa,EACxEmZ,GAAanZ,EAAgB+a,GAAc5F,EAAQ,cAAc,KAAK,EACtEyD,GAAmB,EACnB,MACF,IAAK,IACL,IAAK,GACHza,GAAgB6B,CAAc,EAC9B,MACF,IAAK,GACHlC,GAAkBkC,EAAgBA,EAAe,UAAU,aAAa,EACxE,MACF,IAAK,IACHmZ,GACEnZ,EACAA,EAAe,KACfA,EAAe,cAAc,OAE/B,MACF,IAAK,IACH,GAAaA,EAAe,gBAAxB,KACF,OACGA,EAAe,OAAS,IACzBijB,GAAsCjjB,CAAc,EACpD,KAEJ,MACF,IAAK,IACH,IAAI6yB,EAAY7yB,EAAe,cAC/B,GAAa6yB,IAAT,KACF,OAAaA,EAAU,aAAnB,MAEA/P,GAA+B9iB,CAAc,EAC5CA,EAAe,OAAS,IACzB,MAEOwC,EAAcxC,EAAe,MAAM,WACrCyxB,GAAwBtc,EAASnV,EAAgBwC,CAAW,GACrEsgB,GAA+B9iB,CAAc,EAC7CmV,EAAUua,GACRva,EACAnV,EACAwC,GAEc2S,IAAT,KAAmBA,EAAQ,QAAU,MAE9C2N,GAA+B9iB,CAAc,EAC7C,MACF,IAAK,IACH,IAAI8yB,GAA0B3d,EAAQ,MAAQ,OAAvB,EAUvB,GATA0d,GAAmBrwB,EAAcxC,EAAe,cAApC,EACZ6yB,IACG9Y,GACC5E,EACAnV,EACAwC,EACA,IAEDqwB,GAAmBrwB,EAAcxC,EAAe,cAApC,GACX8yB,EAAkB,CACpB,GAAID,EACF,OAAOL,GACLrd,EACAnV,EACAwC,GAEJxC,EAAe,OAAS,GAChC,CAOM,GANA8yB,EAAmB9yB,EAAe,cACzB8yB,IAAT,OACIA,EAAiB,UAAY,KAC9BA,EAAiB,KAAO,KACxBA,EAAiB,WAAa,MACjCx8B,EAAK0sB,GAAqBA,GAAoB,OAAO,EACjD6P,EAAW,MACV,OAAO,KACd,IAAK,IACH,OACG7yB,EAAe,MAAQ,EACxBgwB,GACE7a,EACAnV,EACAwC,EACAxC,EAAe,YACzB,EAEI,IAAK,IACHmZ,GAAanZ,EAAgB+a,GAAc5F,EAAQ,cAAc,KAAK,CAC5E,CACE,OAAOua,GAA6Bva,EAASnV,EAAgBwC,CAAW,CAC1E,CACA,SAASuwB,GAAU5d,EAASnV,EAAgBwC,EAAa,CACvD,GAAa2S,IAAT,KACF,GAAIA,EAAQ,gBAAkBnV,EAAe,aAC3CglB,GAAmB,OAChB,CACH,GACE,CAAC6K,GAA8B1a,EAAS3S,CAAW,GAC5C,EAAAxC,EAAe,MAAQ,KAE9B,OACGglB,GAAmB,GACpB4N,GACEzd,EACAnV,EACAwC,CACZ,EAEMwiB,GAA0B,GAAA7P,EAAQ,MAAQ,OAChD,MAEK6P,GAAmB,GAClBrc,IACS3I,EAAe,MAAQ,SAC9BgX,GAAWhX,EAAgBwW,GAAexW,EAAe,KAAK,EAEpE,OADAA,EAAe,MAAQ,EACfA,EAAe,IAAG,CACxB,IAAK,IACHvJ,EAAG,CACD,IAAIxF,EAAQ+O,EAAe,aAG3B,GAFAmV,EAAUkI,GAAYrd,EAAe,WAAW,EAChDA,EAAe,KAAOmV,EACH,OAAOA,GAAtB,WACFF,GAAgBE,CAAO,GACjBlkB,EAAQy8B,GAA2BvY,EAASlkB,CAAK,EAClD+O,EAAe,IAAM,EACrBA,EAAiB8wB,GAChB,KACA9wB,EACAmV,EACAlkB,EACAuR,CAChB,IACgBxC,EAAe,IAAM,EACtBA,EAAiB+vB,GAChB,KACA/vB,EACAmV,EACAlkB,EACAuR,CAChB,OACa,CACH,GAAmC2S,GAAT,KAAkB,CAC1C,IAAI6d,EAAW7d,EAAQ,SACvB,GAAI6d,IAAa3iC,GAAwB,CACvC2P,EAAe,IAAM,GACrBA,EAAiBwvB,GACf,KACAxvB,EACAmV,EACAlkB,EACAuR,GAEF,MAAM/L,CACpB,SAAuBu8B,IAAaziC,EAAiB,CACvCyP,EAAe,IAAM,GACrBA,EAAiB2vB,GACf,KACA3vB,EACAmV,EACAlkB,EACAuR,GAEF,MAAM/L,CACpB,CACA,CACU,MAAAuJ,EAAiB7C,GAAyBgY,CAAO,GAAKA,EAChD,MAAM/a,EAAuB,IAAK4F,EAAgB,EAAE,CAAC,CACrE,CACA,CACM,OAAOA,EACT,IAAK,GACH,OAAO+vB,GACL5a,EACAnV,EACAA,EAAe,KACfA,EAAe,aACfwC,GAEJ,IAAK,GACH,OACGvR,EAAQ+O,EAAe,KACvBgzB,EAAWtF,GACVz8B,EACA+O,EAAe,cAEjB8wB,GACE3b,EACAnV,EACA/O,EACA+hC,EACAxwB,CACV,EAEI,IAAK,GACH/L,EAAG,CAKD,GAJAqH,GACEkC,EACAA,EAAe,UAAU,eAEdmV,IAAT,KAAkB,MAAM,MAAM/a,EAAuB,GAAG,CAAC,EAC7DnJ,EAAQ+O,EAAe,aACvB,IAAIwoB,EAAYxoB,EAAe,cAC/BgzB,EAAWxK,EAAU,QACrBhI,GAAiBrL,EAASnV,CAAc,EACxCuhB,GAAmBvhB,EAAgB/O,EAAO,KAAMuR,CAAW,EAC3D,IAAIomB,EAAY5oB,EAAe,cAY/B,GAXA/O,EAAQ23B,EAAU,MAClBzP,GAAanZ,EAAgB+a,GAAc9pB,CAAK,EAChDA,IAAUu3B,EAAU,OAClB/O,GACEzZ,EACA,CAAC+a,EAAY,EACbvY,EACA,IAEJ6e,GAA2C,EAC3CpwB,EAAQ23B,EAAU,QACdJ,EAAU,aACZ,GACIA,EAAY,CACZ,QAASv3B,EACT,aAAc,GACd,MAAO23B,EAAU,OAElB5oB,EAAe,YAAY,UAAYwoB,EACvCxoB,EAAe,cAAgBwoB,EAChCxoB,EAAe,MAAQ,IACvB,CACAA,EAAiBmxB,GACfhc,EACAnV,EACA/O,EACAuR,GAEF,MAAM/L,CAClB,SAAqBxF,IAAU+hC,EAAU,CAC7BA,EAAW9c,GACT,MAAM9b,EAAuB,GAAG,CAAC,EACjC4F,GAEF8X,GAAoBkb,CAAQ,EAC5BhzB,EAAiBmxB,GACfhc,EACAnV,EACA/O,EACAuR,GAEF,MAAM/L,CAClB,KAAiB,CAEL,OADA0e,EAAUnV,EAAe,UAAU,cAC3BmV,EAAQ,SAAQ,CACtB,IAAK,GACHA,EAAUA,EAAQ,KAClB,MACF,QACEA,EACaA,EAAQ,WAAnB,OACIA,EAAQ,cAAc,KACtBA,CACtB,CAYY,IAXAsC,GAAyBkB,GAAkBxD,EAAQ,UAAU,EAC7DqC,GAAuBxX,EACvB2I,GAAc,GACd+O,GAAkB,KAClBC,GAAyB,GACzBnV,EAAc6d,GACZrgB,EACA,KACA/O,EACAuR,GAEGxC,EAAe,MAAQwC,EAAaA,GACtCA,EAAY,MAASA,EAAY,MAAQ,GAAM,KAC7CA,EAAcA,EAAY,OAC3C,KACa,CAEH,GADAoW,GAAmB,EACf3nB,IAAU+hC,EAAU,CACtBhzB,EAAiB0vB,GACfva,EACAnV,EACAwC,GAEF,MAAM/L,CAClB,CACU64B,GAAkBna,EAASnV,EAAgB/O,EAAOuR,CAAW,CACvE,CACQxC,EAAiBA,EAAe,KACxC,CACM,OAAOA,EACT,IAAK,IACH,OACE4wB,GAAQzb,EAASnV,CAAc,EACtBmV,IAAT,MACK3S,EAAcywB,GACbjzB,EAAe,KACf,KACAA,EAAe,aACf,OAECA,EAAe,cAAgBwC,EAChCmG,KACEnG,EAAcxC,EAAe,KAC9BmV,EAAUnV,EAAe,aACzB/O,EAAQiiC,GACPt1B,GAAwB,OACxC,EAAgB,cAAc4E,CAAW,EAC1BvR,EAAM8T,EAAmB,EAAI/E,EAC7B/O,EAAM+T,EAAgB,EAAImQ,EAC3Bge,GAAqBliC,EAAOuR,EAAa2S,CAAO,EAChDjP,GAAoBjV,CAAK,EACxB+O,EAAe,UAAY/O,GAC7B+O,EAAe,cAAgBizB,GAC9BjzB,EAAe,KACfmV,EAAQ,cACRnV,EAAe,aACfmV,EAAQ,aACtB,EACQ,KAEJ,IAAK,IACH,OACEhX,GAAgB6B,CAAc,EACrBmV,IAAT,MACExM,KACE1X,EAAQ+O,EAAe,UACvBozB,GACEpzB,EAAe,KACfA,EAAe,aACfpC,GAAwB,SAE3B4Z,GAAuBxX,EACvB2X,GAAyB,GACzBqb,EAAWvb,GACZgB,GAAiBzY,EAAe,IAAI,GAC9B0Y,GAA8Csa,EAC/Cvb,GAAyBkB,GAAkB1nB,EAAM,UAAU,GAC3DwmB,GAAyBub,GAChC1D,GACEna,EACAnV,EACAA,EAAe,aAAa,SAC5BwC,GAEFouB,GAAQzb,EAASnV,CAAc,EACtBmV,IAAT,OAAqBnV,EAAe,OAAS,SAC7CA,EAAe,MAEnB,IAAK,GACH,OAAamV,IAAT,MAAoBxM,MACjBqqB,EAAW/hC,EAAQwmB,MACrBxmB,EAAQoiC,GACPpiC,EACA+O,EAAe,KACfA,EAAe,aACf2X,IAES1mB,IAAT,MACM+O,EAAe,UAAY/O,EAC5BumB,GAAuBxX,EACvByX,GAAyBkB,GAAkB1nB,EAAM,UAAU,EAC3D0mB,GAAyB,GACzBqb,EAAW,IACXA,EAAW,IACpBA,GAAYnb,GAAyB7X,CAAc,GAErD7B,GAAgB6B,CAAc,EAC9BgzB,EAAWhzB,EAAe,KAC1BwoB,EAAYxoB,EAAe,aAC3B4oB,EAAqBzT,IAAT,KAAmBA,EAAQ,cAAgB,KACvDlkB,EAAQu3B,EAAU,SAClBjQ,GAAqBya,EAAUxK,CAAS,EACnCv3B,EAAQ,KACA23B,IAAT,MACArQ,GAAqBya,EAAUpK,CAAS,IACvC5oB,EAAe,OAAS,IACpBA,EAAe,gBAAxB,OACIgzB,EAAWzO,GACXpP,EACAnV,EACAmlB,GACA,KACA,KACA3iB,GAEDlE,GAAsB,cAAgB00B,GACzCpC,GAAQzb,EAASnV,CAAc,EAC/BsvB,GAAkBna,EAASnV,EAAgB/O,EAAOuR,CAAW,EACtDxC,EAAe,MACxB,IAAK,GACH,OAAamV,IAAT,MAAoBxM,MACjBwM,EAAU3S,EAAciV,MAC1BjV,EAAc8wB,GACb9wB,EACAxC,EAAe,aACf2X,IAESnV,IAAT,MACMxC,EAAe,UAAYwC,EAC5BgV,GAAuBxX,EACvByX,GAAyB,KACzBtC,EAAU,IACVA,EAAU,IACnBA,GAAW0C,GAAyB7X,CAAc,GAE7C,KACT,IAAK,IACH,OAAOyxB,GAAwBtc,EAASnV,EAAgBwC,CAAW,EACrE,IAAK,GACH,OACE1E,GACEkC,EACAA,EAAe,UAAU,eAE1B/O,EAAQ+O,EAAe,aACfmV,IAAT,KACKnV,EAAe,MAAQogB,GACtBpgB,EACA,KACA/O,EACAuR,GAEF8sB,GAAkBna,EAASnV,EAAgB/O,EAAOuR,CAAW,EACjExC,EAAe,MAEnB,IAAK,IACH,OAAOwvB,GACLra,EACAnV,EACAA,EAAe,KACfA,EAAe,aACfwC,GAEJ,IAAK,GACH,OACE8sB,GACEna,EACAnV,EACAA,EAAe,aACfwC,GAEFxC,EAAe,MAEnB,IAAK,GACH,OACEsvB,GACEna,EACAnV,EACAA,EAAe,aAAa,SAC5BwC,GAEFxC,EAAe,MAEnB,IAAK,IACH,OACEsvB,GACEna,EACAnV,EACAA,EAAe,aAAa,SAC5BwC,GAEFxC,EAAe,MAEnB,IAAK,IACH,OACG/O,EAAQ+O,EAAe,aACxBmZ,GAAanZ,EAAgBA,EAAe,KAAM/O,EAAM,KAAK,EAC7Dq+B,GAAkBna,EAASnV,EAAgB/O,EAAM,SAAUuR,CAAW,EACtExC,EAAe,MAEnB,IAAK,GACH,OACGgzB,EAAWhzB,EAAe,KAAK,SAC/B/O,EAAQ+O,EAAe,aAAa,SACrCoa,GAAqBpa,CAAc,EAClCgzB,EAAW3Y,GAAY2Y,CAAQ,EAC/B/hC,EAAQA,EAAM+hC,CAAQ,EACtBhzB,EAAe,OAAS,EACzBsvB,GAAkBna,EAASnV,EAAgB/O,EAAOuR,CAAW,EAC7DxC,EAAe,MAEnB,IAAK,IACH,OAAO2vB,GACLxa,EACAnV,EACAA,EAAe,KACfA,EAAe,aACfwC,GAEJ,IAAK,IACH,OAAOotB,GACLza,EACAnV,EACAA,EAAe,KACfA,EAAe,aACfwC,GAEJ,IAAK,IACH,OAAOgwB,GAA4Brd,EAASnV,EAAgBwC,CAAW,EACzE,IAAK,IACH,OAAOguB,GAAwBrb,EAASnV,EAAgBwC,CAAW,EACrE,IAAK,IACH,OAAOwtB,GACL7a,EACAnV,EACAwC,EACAxC,EAAe,cAEnB,IAAK,IACH,OACEoa,GAAqBpa,CAAc,EAClC/O,EAAQopB,GAAYU,EAAY,EACxB5F,IAAT,MACM6d,EAAW9W,GAAiB,EACrB8W,IAAT,OACIA,EAAW5W,GACZoM,EAAYxN,GAAW,EACvBgY,EAAS,YAAcxK,EACxBA,EAAU,WACDA,IAAT,OAAuBwK,EAAS,kBAAoBxwB,GACnDwwB,EAAWxK,GACbxoB,EAAe,cAAgB,CAAE,OAAQ/O,EAAO,MAAO+hC,CAAQ,EAChEzS,GAAsBvgB,CAAc,EACpCmZ,GAAanZ,EAAgB+a,GAAciY,CAAQ,IAC3C7d,EAAQ,MAAQ3S,IACrBge,GAAiBrL,EAASnV,CAAc,EACzCuhB,GAAmBvhB,EAAgB,KAAM,KAAMwC,CAAW,EAC1D6e,MACD2R,EAAW7d,EAAQ,cACnBqT,EAAYxoB,EAAe,cAC5BgzB,EAAS,SAAW/hC,GACd+hC,EAAW,CAAE,OAAQ/hC,EAAO,MAAOA,CAAK,EACzC+O,EAAe,cAAgBgzB,EAC1BhzB,EAAe,QAArB,IACGA,EAAe,cACdA,EAAe,YAAY,UACzBgzB,GACN7Z,GAAanZ,EAAgB+a,GAAc9pB,CAAK,IAC9CA,EAAQu3B,EAAU,MACpBrP,GAAanZ,EAAgB+a,GAAc9pB,CAAK,EAChDA,IAAU+hC,EAAS,OACjBvZ,GACEzZ,EACA,CAAC+a,EAAY,EACbvY,EACA,EACpB,IACQ8sB,GACEna,EACAnV,EACAA,EAAe,aAAa,SAC5BwC,GAEFxC,EAAe,MAEnB,IAAK,IACH,MAAMA,EAAe,YAC3B,CACE,MAAM,MAAM5F,EAAuB,IAAK4F,EAAe,GAAG,CAAC,CAC7D,CACA,SAASuzB,GAAWvzB,EAAgB,CAClCA,EAAe,OAAS,CAC1B,CACA,SAASwzB,GACPxzB,EACAxQ,EACA89B,EACAC,EACA/qB,EACA,CAEA,IADKhT,GAAcwQ,EAAe,KAAO,MAA7B,KAAmCxQ,EAAO,IAClDA,GACF,GACIwQ,EAAe,OAAS,UACzBwC,EAAc,aAAeA,EAE9B,GAAIxC,EAAe,UAAU,SAAUA,EAAe,OAAS,aACtDyzB,GAA4B,EAAIzzB,EAAe,OAAS,SAE/D,OACIod,GAAoBP,GACtBF,QAED3c,EAAe,OAAS,SACjC,CACA,SAAS0zB,GAAkC1zB,EAAgB2zB,EAAU,CACnE,GAAqBA,EAAS,OAA1B,cAAyCA,EAAS,MAAM,QAAU,EACpE3zB,EAAe,OAAS,kBACfA,EAAe,OAAS,SAAW,CAAC4zB,GAAgBD,CAAQ,EACrE,GAAIF,GAA4B,EAAIzzB,EAAe,OAAS,SAE1D,OACIod,GAAoBP,GACtBF,EAER,CACA,SAASkX,GAAoB7zB,EAAgB8zB,EAAY,CAC9CA,IAAT,OAAwB9zB,EAAe,OAAS,GAChDA,EAAe,MAAQ,QACnB8zB,EACO9zB,EAAe,MAAtB,GAA4B2C,GAAkB,EAAK,UACpD3C,EAAe,OAAS8zB,EACxBC,IAAqCD,EAC1C,CACA,SAASE,GAAmBzB,EAAa0B,EAA0B,CACjE,GAAI,CAACtrB,GACH,OAAQ4pB,EAAY,SAAQ,CAC1B,IAAK,SACH0B,EAA2B1B,EAAY,KACvC,QAAS2B,EAAe,KAAeD,IAAT,MACnBA,EAAyB,YAAlC,OACGC,EAAeD,GACfA,EAA2BA,EAAyB,QAChDC,IAAT,KACK3B,EAAY,KAAO,KACnB2B,EAAa,QAAU,KAC5B,MACF,IAAK,YACHA,EAAe3B,EAAY,KAC3B,QAAS4B,EAAmB,KAAeD,IAAT,MACvBA,EAAa,YAAtB,OAAoCC,EAAmBD,GACpDA,EAAeA,EAAa,QACxBC,IAAT,KACIF,GAAqC1B,EAAY,OAArB,KACzBA,EAAY,KAAO,KACnBA,EAAY,KAAK,QAAU,KAC7B4B,EAAiB,QAAU,IACxC,CACA,CACA,SAASC,GAAiBC,EAAe,CACvC,IAAIC,EACSD,EAAc,YAAvB,MACAA,EAAc,UAAU,QAAUA,EAAc,MAClDE,EAAgB,EAChBC,EAAe,EACjB,GAAIF,EACF,QAASG,EAAYJ,EAAc,MAAgBI,IAAT,MACvCF,GAAiBE,EAAU,MAAQA,EAAU,WAC3CD,GAAgBC,EAAU,aAAe,SACzCD,GAAgBC,EAAU,MAAQ,SAClCA,EAAU,OAASJ,EACnBI,EAAYA,EAAU,YAE3B,KAAKA,EAAYJ,EAAc,MAAgBI,IAAT,MACnCF,GAAiBE,EAAU,MAAQA,EAAU,WAC3CD,GAAgBC,EAAU,aAC1BD,GAAgBC,EAAU,MAC1BA,EAAU,OAASJ,EACnBI,EAAYA,EAAU,QAC7B,OAAAJ,EAAc,cAAgBG,EAC9BH,EAAc,WAAaE,EACpBD,CACT,CACA,SAASI,GAAavf,EAASnV,EAAgBwC,EAAa,CAC1D,IAAI+qB,EAAWvtB,EAAe,aAE9B,OADAqX,GAAerX,CAAc,EACrBA,EAAe,IAAG,CACxB,IAAK,IACL,IAAK,IACL,IAAK,GACL,IAAK,IACL,IAAK,GACL,IAAK,GACL,IAAK,IACL,IAAK,GACL,IAAK,IACH,OAAOo0B,GAAiBp0B,CAAc,EAAG,KAC3C,IAAK,GACH,OAAOo0B,GAAiBp0B,CAAc,EAAG,KAC3C,IAAK,GACH,OAAAwC,EAAcxC,EAAe,UAC7ButB,EAAW,KACFpY,IAAT,OAAqBoY,EAAWpY,EAAQ,cAAc,OACtDnV,EAAe,cAAc,QAAUutB,IACpCvtB,EAAe,OAAS,MAC3BsZ,GAAYyB,EAAY,EACxB7c,GAAgB,EAChBsE,EAAY,iBACRA,EAAY,QAAUA,EAAY,eACnCA,EAAY,eAAiB,OACnB2S,IAAT,MAA6BA,EAAQ,QAAjB,QACtBkD,GAAkBrY,CAAc,EAC5BuzB,GAAWvzB,CAAc,EAChBmV,IAAT,MACCA,EAAQ,cAAc,cACd,EAAAnV,EAAe,MAAQ,OAC9BA,EAAe,OAAS,KAC1B6Y,OACNub,GAAiBp0B,CAAc,EACxB,KACT,IAAK,IACH,IAAIxQ,EAAOwQ,EAAe,KACxB20B,EAAe30B,EAAe,cAChC,OAASmV,IAAT,MACKoe,GAAWvzB,CAAc,EACjB20B,IAAT,MACKP,GAAiBp0B,CAAc,EAChC0zB,GAAkC1zB,EAAgB20B,CAAY,IAC7DP,GAAiBp0B,CAAc,EAChCwzB,GACExzB,EACAxQ,EACA,KACA+9B,EACA/qB,CAChB,IACUmyB,EACEA,IAAiBxf,EAAQ,eACtBoe,GAAWvzB,CAAc,EAC1Bo0B,GAAiBp0B,CAAc,EAC/B0zB,GAAkC1zB,EAAgB20B,CAAY,IAC7DP,GAAiBp0B,CAAc,EAC/BA,EAAe,OAAS,YACzBmV,EAAUA,EAAQ,cACpBA,IAAYoY,GAAYgG,GAAWvzB,CAAc,EACjDo0B,GAAiBp0B,CAAc,EAC/BwzB,GACExzB,EACAxQ,EACA2lB,EACAoY,EACA/qB,CACd,GACa,KACT,IAAK,IAIH,GAHAnE,GAAe2B,CAAc,EAC7BwC,EAAc5E,GAAwB,QACtCpO,EAAOwQ,EAAe,KACTmV,IAAT,MAA4BnV,EAAe,WAAvB,KACtBmV,EAAQ,gBAAkBoY,GAAYgG,GAAWvzB,CAAc,MAC5D,CACH,GAAI,CAACutB,EAAU,CACb,GAAavtB,EAAe,YAAxB,KACF,MAAM,MAAM5F,EAAuB,GAAG,CAAC,EACzC,OAAAg6B,GAAiBp0B,CAAc,EACxB,IACjB,CACQmV,EAAUzX,EAAmB,QAC7B2a,GAAkBrY,CAAc,EAC5B+X,GAA6B/X,CAAuB,GAClDmV,EAAUie,GAAyB5jC,EAAM+9B,EAAU/qB,CAAW,EAC/DxC,EAAe,UAAYmV,EAC5Boe,GAAWvzB,CAAc,EACrC,CACM,OAAAo0B,GAAiBp0B,CAAc,EACxB,KACT,IAAK,GAGH,GAFA3B,GAAe2B,CAAc,EAC7BxQ,EAAOwQ,EAAe,KACTmV,IAAT,MAA4BnV,EAAe,WAAvB,KACtBmV,EAAQ,gBAAkBoY,GAAYgG,GAAWvzB,CAAc,MAC5D,CACH,GAAI,CAACutB,EAAU,CACb,GAAavtB,EAAe,YAAxB,KACF,MAAM,MAAM5F,EAAuB,GAAG,CAAC,EACzC,OAAAg6B,GAAiBp0B,CAAc,EACxB,IACjB,CAEQ,GADA20B,EAAej3B,EAAmB,QAC9B2a,GAAkBrY,CAAc,EAClC+X,GAA6B/X,CAA4B,MACtD,CACH,IAAI40B,EAAgB1B,GAClBt1B,GAAwB,SAE1B,OAAQ+2B,EAAY,CAClB,IAAK,GACHA,EAAeC,EAAc,gBAC3B,6BACAplC,GAEF,MACF,IAAK,GACHmlC,EAAeC,EAAc,gBAC3B,qCACAplC,GAEF,MACF,QACE,OAAQA,EAAI,CACV,IAAK,MACHmlC,EAAeC,EAAc,gBAC3B,6BACAplC,GAEF,MACF,IAAK,OACHmlC,EAAeC,EAAc,gBAC3B,qCACAplC,GAEF,MACF,IAAK,SACHmlC,EAAeC,EAAc,cAAc,KAAK,EAChDD,EAAa,UAAY,qBACzBA,EAAeA,EAAa,YAC1BA,EAAa,YAEf,MACF,IAAK,SACHA,EACe,OAAOpH,EAAS,IAA7B,SACIqH,EAAc,cAAc,SAAU,CACpC,GAAIrH,EAAS,GACd,EACDqH,EAAc,cAAc,QAAQ,EAC1CrH,EAAS,SACJoH,EAAa,SAAW,GACzBpH,EAAS,OAASoH,EAAa,KAAOpH,EAAS,MACnD,MACF,QACEoH,EACe,OAAOpH,EAAS,IAA7B,SACIqH,EAAc,cAAcplC,EAAM,CAAE,GAAI+9B,EAAS,EAAE,CAAE,EACrDqH,EAAc,cAAcplC,CAAI,CACxD,CACA,CACUmlC,EAAa5vB,EAAmB,EAAI/E,EACpC20B,EAAa3vB,EAAgB,EAAIuoB,EACjC92B,EAAG,IACDm+B,EAAgB50B,EAAe,MACtB40B,IAAT,MAEA,CACA,GAAUA,EAAc,MAApB,GAAiCA,EAAc,MAApB,EAC7BD,EAAa,YAAYC,EAAc,SAAS,UAE1CA,EAAc,MAApB,GACOA,EAAc,MAArB,IACSA,EAAc,QAAvB,KACA,CACAA,EAAc,MAAM,OAASA,EAC7BA,EAAgBA,EAAc,MAC9B,QACd,CACY,GAAIA,IAAkB50B,EAAgB,MAAMvJ,EAC5C,KAAgBm+B,EAAc,UAAvB,MAAkC,CACvC,GACWA,EAAc,SAAvB,MACAA,EAAc,SAAW50B,EAEzB,MAAMvJ,EACRm+B,EAAgBA,EAAc,MAC5C,CACYA,EAAc,QAAQ,OAASA,EAAc,OAC7CA,EAAgBA,EAAc,OAC1C,CACU50B,EAAe,UAAY20B,EAC3Bl+B,EAAG,OACA08B,GAAqBwB,EAAcnlC,EAAM+9B,CAAQ,EAAG/9B,EACjE,CACY,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,WACH+9B,EAAW,CAAC,CAACA,EAAS,UACtB,MAAM92B,EACR,IAAK,MACH82B,EAAW,GACX,MAAM92B,EACR,QACE82B,EAAW,EACzB,CACUA,GAAYgG,GAAWvzB,CAAc,CAC/C,CACA,CACM,OAAAo0B,GAAiBp0B,CAAc,EAC/BwzB,GACExzB,EACAA,EAAe,KACNmV,IAAT,KAAmB,KAAOA,EAAQ,cAClCnV,EAAe,aACfwC,GAEK,KACT,IAAK,GACH,GAAI2S,GAAmBnV,EAAe,WAAvB,KACbmV,EAAQ,gBAAkBoY,GAAYgG,GAAWvzB,CAAc,MAC5D,CACH,GAAiB,OAAOutB,GAApB,UAAyCvtB,EAAe,YAAxB,KAClC,MAAM,MAAM5F,EAAuB,GAAG,CAAC,EAEzC,GADA+a,EAAUvX,GAAwB,QAC9Bya,GAAkBrY,CAAc,EAAG,CAKrC,GAJAmV,EAAUnV,EAAe,UACzBwC,EAAcxC,EAAe,cAC7ButB,EAAW,KACX/9B,EAAOgoB,GACMhoB,IAAT,KACF,OAAQA,EAAK,IAAG,CACd,IAAK,IACL,IAAK,GACH+9B,EAAW/9B,EAAK,aAChC,CACU2lB,EAAQpQ,EAAmB,EAAI/E,EAC/BmV,EACE,GAAAA,EAAQ,YAAc3S,GACZ+qB,IAAT,MAA4BA,EAAS,2BAAhB,IACtBpV,GAAsBhD,EAAQ,UAAW3S,CAAW,GAGtD2S,GAAW0C,GAAyB7X,EAAgB,EAAE,CAChE,MACWmV,EACC+d,GAAkC/d,CAAO,EAAE,eACzCoY,GAEDpY,EAAQpQ,EAAmB,EAAI/E,EAC/BA,EAAe,UAAYmV,CACxC,CACM,OAAAif,GAAiBp0B,CAAc,EACxB,KACT,IAAK,IAEH,GADAwC,EAAcxC,EAAe,cAChBmV,IAAT,MAA6BA,EAAQ,gBAAjB,KAAgC,CAEtD,GADAoY,EAAWlV,GAAkBrY,CAAc,EAC9BwC,IAAT,KAAsB,CACxB,GAAa2S,IAAT,KAAkB,CACpB,GAAI,CAACoY,EAAU,MAAM,MAAMnzB,EAAuB,GAAG,CAAC,EAGtD,GAFA+a,EAAUnV,EAAe,cACzBmV,EAAmBA,IAAT,KAAmBA,EAAQ,WAAa,KAC9C,CAACA,EAAS,MAAM,MAAM/a,EAAuB,GAAG,CAAC,EACrD+a,EAAQpQ,EAAmB,EAAI/E,CAC3C,MACY4Y,GAAmB,EACV,EAAA5Y,EAAe,MAAQ,OAC3BA,EAAe,cAAgB,MACjCA,EAAe,OAAS,EAC7Bo0B,GAAiBp0B,CAAc,EAC/BmV,EAAU,EACpB,MACW3S,EAAcqW,GAAmC,EACvC1D,IAAT,MACWA,EAAQ,gBAAjB,OACCA,EAAQ,cAAc,gBAAkB3S,GAC1C2S,EAAU,GACf,GAAI,CAACA,EACH,OAAInV,EAAe,MAAQ,KAClBojB,GAAmBpjB,CAAc,EAAGA,IAC7CojB,GAAmBpjB,CAAc,EAC1B,MAET,GAAWA,EAAe,MAAQ,IAChC,MAAM,MAAM5F,EAAuB,GAAG,CAAC,CACjD,CACM,OAAAg6B,GAAiBp0B,CAAc,EACxB,KACT,IAAK,IAEH,GADAutB,EAAWvtB,EAAe,cAEfmV,IAAT,MACUA,EAAQ,gBAAjB,MACUA,EAAQ,cAAc,aAA/B,KACF,CAEA,GADA3lB,EAAO6oB,GAAkBrY,CAAc,EAC1ButB,IAAT,MAA8BA,EAAS,aAAlB,KAA8B,CACrD,GAAapY,IAAT,KAAkB,CACpB,GAAI,CAAC3lB,EAAM,MAAM,MAAM4K,EAAuB,GAAG,CAAC,EAGlD,GAFA5K,EAAOwQ,EAAe,cACtBxQ,EAAgBA,IAAT,KAAgBA,EAAK,WAAa,KACrC,CAACA,EAAM,MAAM,MAAM4K,EAAuB,GAAG,CAAC,EAClD5K,EAAKuV,EAAmB,EAAI/E,CACxC,MACY4Y,GAAmB,EACV,EAAA5Y,EAAe,MAAQ,OAC3BA,EAAe,cAAgB,MACjCA,EAAe,OAAS,EAC7Bo0B,GAAiBp0B,CAAc,EAC/BxQ,EAAO,EACjB,MACWA,EAAOqpB,GAAmC,EAChC1D,IAAT,MACWA,EAAQ,gBAAjB,OACCA,EAAQ,cAAc,gBAAkB3lB,GAC1CA,EAAO,GACZ,GAAI,CAACA,EACH,OAAIwQ,EAAe,MAAQ,KAClBojB,GAAmBpjB,CAAc,EAAGA,IAC7CojB,GAAmBpjB,CAAc,EAC1B,KAEjB,CAEM,OADAojB,GAAmBpjB,CAAc,EACtBA,EAAe,MAAQ,KACxBA,EAAe,MAAQwC,EAAcxC,IAC/CwC,EAAuB+qB,IAAT,KACdpY,EAAmBA,IAAT,MAA6BA,EAAQ,gBAAjB,KAC9B3S,IACI+qB,EAAWvtB,EAAe,MAC3BxQ,EAAO,KACC+9B,EAAS,YAAlB,MACWA,EAAS,UAAU,gBAA5B,MACSA,EAAS,UAAU,cAAc,YAA1C,OACC/9B,EAAO+9B,EAAS,UAAU,cAAc,UAAU,MACpDoH,EAAe,KACPpH,EAAS,gBAAlB,MACWA,EAAS,cAAc,YAAhC,OACCoH,EAAepH,EAAS,cAAc,UAAU,MACnDoH,IAAiBnlC,IAAS+9B,EAAS,OAAS,OAC9C/qB,IAAgB2S,GACd3S,IACCxC,EAAe,MAAM,OAAS,MACjC6zB,GAAoB7zB,EAAgBA,EAAe,WAAW,EAC9Do0B,GAAiBp0B,CAAc,EACxB,MACT,IAAK,GACH,OACE9B,GAAgB,EACPiX,IAAT,MACE0f,GAA2B70B,EAAe,UAAU,aAAa,EACnEo0B,GAAiBp0B,CAAc,EAC/B,KAEJ,IAAK,IACH,OACEsZ,GAAYtZ,EAAe,IAAI,EAAGo0B,GAAiBp0B,CAAc,EAAG,KAExE,IAAK,IAGH,GAFAnJ,EAAImsB,EAAmB,EACvBuK,EAAWvtB,EAAe,cACbutB,IAAT,KAAmB,OAAO6G,GAAiBp0B,CAAc,EAAG,KAGhE,GAFAxQ,GAAcwQ,EAAe,MAAQ,OAA9B,EACP20B,EAAepH,EAAS,UACXoH,IAAT,KACF,GAAInlC,EAAMwkC,GAAmBzG,EAAU,EAAE,MACpC,CACH,GACQ0B,KAAN,GACU9Z,IAAT,MAA2BA,EAAQ,MAAQ,IAE5C,IAAKA,EAAUnV,EAAe,MAAgBmV,IAAT,MAAoB,CAEvD,GADAwf,EAAetR,GAAmBlO,CAAO,EAC5Bwf,IAAT,KAAuB,CAQzB,IAPA30B,EAAe,OAAS,IACxBg0B,GAAmBzG,EAAU,EAAE,EAC/BpY,EAAUwf,EAAa,YACvB30B,EAAe,YAAcmV,EAC7B0e,GAAoB7zB,EAAgBmV,CAAO,EAC3CnV,EAAe,aAAe,EAC9BmV,EAAU3S,EACLA,EAAcxC,EAAe,MAAgBwC,IAAT,MACvC4S,GAAoB5S,EAAa2S,CAAO,EACrC3S,EAAcA,EAAY,QAC/B,OAAAlM,EACE0sB,GACCA,GAAoB,QAAU,EAAK,GAEtCra,IACEmO,GAAa9W,EAAgButB,EAAS,aAAa,EAC9CvtB,EAAe,KACtC,CACcmV,EAAUA,EAAQ,OAChC,CACmBoY,EAAS,OAAlB,MACEhtB,GAAG,EAAKu0B,KACN90B,EAAe,OAAS,IACzBxQ,EAAO,GACRwkC,GAAmBzG,EAAU,EAAE,EAC9BvtB,EAAe,MAAQ,QACpC,KACW,CACH,GAAI,CAACxQ,EACH,GACI2lB,EAAUkO,GAAmBsR,CAAY,EAAaxf,IAAT,MAE/C,GACInV,EAAe,OAAS,IACzBxQ,EAAO,GACP2lB,EAAUA,EAAQ,YAClBnV,EAAe,YAAcmV,EAC9B0e,GAAoB7zB,EAAgBmV,CAAO,EAC3C6e,GAAmBzG,EAAU,EAAE,EACtBA,EAAS,OAAlB,MACeA,EAAS,WAAtB,UACA,CAACoH,EAAa,WACd,CAAChsB,GAEH,OAAOyrB,GAAiBp0B,CAAc,EAAG,SAE3C,GAAIO,KAAQgtB,EAAS,mBACnBuH,IACctyB,IAAd,YACExC,EAAe,OAAS,IACzBxQ,EAAO,GACRwkC,GAAmBzG,EAAU,EAAE,EAC9BvtB,EAAe,MAAQ,SAC9ButB,EAAS,aACHoH,EAAa,QAAU30B,EAAe,MACvCA,EAAe,MAAQ20B,IACtBxf,EAAUoY,EAAS,KACZpY,IAAT,KACKA,EAAQ,QAAUwf,EAClB30B,EAAe,MAAQ20B,EAC3BpH,EAAS,KAAOoH,EAC7B,CACM,OAAapH,EAAS,OAAlB,MAECpY,EAAUoY,EAAS,KACnBA,EAAS,UAAYpY,EACrBoY,EAAS,KAAOpY,EAAQ,QACxBoY,EAAS,mBAAqBhtB,GAAG,EACjC4U,EAAQ,QAAU,KAClB3S,EAAcwgB,GAAoB,QACnC1sB,EACE0sB,GACAxzB,EAAQgT,EAAc,EAAK,EAAIA,EAAc,GAE/CmG,IAAemO,GAAa9W,EAAgButB,EAAS,aAAa,EAClEpY,IAEJif,GAAiBp0B,CAAc,EACxB,MACT,IAAK,IACL,IAAK,IACH,OACEojB,GAAmBpjB,CAAc,EACjC2iB,GAAgB,EACf4K,EAAoBvtB,EAAe,gBAAxB,KACHmV,IAAT,KACcA,EAAQ,gBAAjB,OAAoCoY,IACpCvtB,EAAe,OAAS,MACzButB,IAAavtB,EAAe,OAAS,MACzCutB,EACW/qB,EAAc,WACd,EAAAxC,EAAe,MAAQ,OAC7Bo0B,GAAiBp0B,CAAc,EAChCA,EAAe,aAAe,IAAMA,EAAe,OAAS,OAC5Do0B,GAAiBp0B,CAAc,EAClCwC,EAAcxC,EAAe,YACrBwC,IAAT,MACEqxB,GAAoB7zB,EAAgBwC,EAAY,UAAU,EAC3DA,EAAc,KACN2S,IAAT,MACWA,EAAQ,gBAAjB,MACSA,EAAQ,cAAc,YAA/B,OACC3S,EAAc2S,EAAQ,cAAc,UAAU,MAChDoY,EAAW,KACHvtB,EAAe,gBAAxB,MACWA,EAAe,cAAc,YAAtC,OACCutB,EAAWvtB,EAAe,cAAc,UAAU,MACrDutB,IAAa/qB,IAAgBxC,EAAe,OAAS,MAC5CmV,IAAT,MAAoBte,EAAIolB,EAAY,EACpC,KAEJ,IAAK,IACH,OACGzZ,EAAc,KACN2S,IAAT,OAAqB3S,EAAc2S,EAAQ,cAAc,OACzDnV,EAAe,cAAc,QAAUwC,IACpCxC,EAAe,OAAS,MAC3BsZ,GAAYyB,EAAY,EACxBqZ,GAAiBp0B,CAAc,EAC/B,KAEJ,IAAK,IACH,OAAO,KACT,IAAK,IACH,OAAO,IACb,CACE,MAAM,MAAM5F,EAAuB,IAAK4F,EAAe,GAAG,CAAC,CAC7D,CACA,SAAS+0B,GAAW5f,EAASnV,EAAgB,CAE3C,OADAqX,GAAerX,CAAc,EACrBA,EAAe,IAAG,CACxB,IAAK,GACH,OACGmV,EAAUnV,EAAe,MAC1BmV,EAAU,OACJnV,EAAe,MAASmV,EAAU,OAAU,IAAMnV,GACpD,KAER,IAAK,GACH,OACEsZ,GAAYyB,EAAY,EACxB7c,GAAgB,EACfiX,EAAUnV,EAAe,MACnBmV,EAAU,OAAiB,EAAAA,EAAU,MACtCnV,EAAe,MAASmV,EAAU,OAAU,IAAMnV,GACpD,KAER,IAAK,IACL,IAAK,IACL,IAAK,GACH,OAAO3B,GAAe2B,CAAc,EAAG,KACzC,IAAK,IACH,GAAaA,EAAe,gBAAxB,KAAuC,CAEzC,GADAojB,GAAmBpjB,CAAc,EACpBA,EAAe,YAAxB,KACF,MAAM,MAAM5F,EAAuB,GAAG,CAAC,EACzCwe,GAAmB,CAC3B,CACM,OAAAzD,EAAUnV,EAAe,MAClBmV,EAAU,OACXnV,EAAe,MAASmV,EAAU,OAAU,IAAMnV,GACpD,KACN,IAAK,IAGH,GAFAojB,GAAmBpjB,CAAc,EACjCmV,EAAUnV,EAAe,cACZmV,IAAT,MAA6BA,EAAQ,aAAjB,KAA6B,CACnD,GAAanV,EAAe,YAAxB,KACF,MAAM,MAAM5F,EAAuB,GAAG,CAAC,EACzCwe,GAAmB,CAC3B,CACM,OAAAzD,EAAUnV,EAAe,MAClBmV,EAAU,OACXnV,EAAe,MAASmV,EAAU,OAAU,IAAMnV,GACpD,KACN,IAAK,IACH,OAAOnJ,EAAImsB,EAAmB,EAAG,KACnC,IAAK,GACH,OAAO9kB,GAAgB,EAAI,KAC7B,IAAK,IACH,OAAOob,GAAYtZ,EAAe,IAAI,EAAG,KAC3C,IAAK,IACL,IAAK,IACH,OACEojB,GAAmBpjB,CAAc,EACjC2iB,GAAgB,EACPxN,IAAT,MAAoBte,EAAIolB,EAAY,EACnC9G,EAAUnV,EAAe,MAC1BmV,EAAU,OACJnV,EAAe,MAASmV,EAAU,OAAU,IAAMnV,GACpD,KAER,IAAK,IACH,OAAOsZ,GAAYyB,EAAY,EAAG,KACpC,IAAK,IACH,OAAO,KACT,QACE,OAAO,IACb,CACA,CACA,SAASia,GAAsB7f,EAAS8f,EAAiB,CAEvD,OADA5d,GAAe4d,CAAe,EACtBA,EAAgB,IAAG,CACzB,IAAK,GACH3b,GAAYyB,EAAY,EACxB7c,GAAgB,EAChB,MACF,IAAK,IACL,IAAK,IACL,IAAK,GACHG,GAAe42B,CAAe,EAC9B,MACF,IAAK,GACH/2B,GAAgB,EAChB,MACF,IAAK,IACM+2B,EAAgB,gBAAzB,MACE7R,GAAmB6R,CAAe,EACpC,MACF,IAAK,IACH7R,GAAmB6R,CAAe,EAClC,MACF,IAAK,IACHp+B,EAAImsB,EAAmB,EACvB,MACF,IAAK,IACH1J,GAAY2b,EAAgB,IAAI,EAChC,MACF,IAAK,IACL,IAAK,IACH7R,GAAmB6R,CAAe,EAClCtS,GAAgB,EACPxN,IAAT,MAAoBte,EAAIolB,EAAY,EACpC,MACF,IAAK,IACH3C,GAAYyB,EAAY,CAC9B,CACA,CACA,SAASma,GAA0BC,EAAOC,EAAc,CACtD,GAAI,CACF,IAAIzU,EAAcyU,EAAa,YAC7BC,EAAsB1U,IAAT,KAAuBA,EAAY,WAAa,KAC/D,GAAa0U,IAAT,KAAqB,CACvB,IAAIC,EAAcD,EAAW,KAC7B1U,EAAc2U,EACd,EAAG,CACD,IAAK3U,EAAY,IAAMwU,KAAWA,EAAO,CACvCE,EAAa,OACb,IAAIz/B,EAAS+qB,EAAY,OACvB5a,EAAO4a,EAAY,KACrB0U,EAAaz/B,EAAM,EACnBmQ,EAAK,QAAUsvB,CACzB,CACQ1U,EAAcA,EAAY,IAClC,OAAeA,IAAgB2U,EAC/B,CACA,OAAWxiC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACpE,CACA,CACA,SAAS0iC,GACPL,EACAC,EACAK,EACA,CACA,GAAI,CACF,IAAI9U,EAAcyU,EAAa,YAC7BC,EAAsB1U,IAAT,KAAuBA,EAAY,WAAa,KAC/D,GAAa0U,IAAT,KAAqB,CACvB,IAAIC,EAAcD,EAAW,KAC7B1U,EAAc2U,EACd,EAAG,CACD,IAAK3U,EAAY,IAAMwU,KAAWA,EAAO,CACvC,IAAIpvB,EAAO4a,EAAY,KACrB+U,EAAU3vB,EAAK,QACjB,GAAe2vB,IAAX,OAAoB,CACtB3vB,EAAK,QAAU,OACfsvB,EAAaD,EACb,IAAIO,EAAyBF,EAC3BG,EAAWF,EACb,GAAI,CACFE,EAAQ,CACtB,OAAqB9iC,EAAO,CACdyiC,GACEF,EACAM,EACA7iC,EAEhB,CACA,CACA,CACQ6tB,EAAcA,EAAY,IAClC,OAAeA,IAAgB2U,EAC/B,CACA,OAAWxiC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACpE,CACA,CACA,SAAS+iC,GAAqBT,EAAc,CAC1C,IAAIzU,EAAcyU,EAAa,YAC/B,GAAazU,IAAT,KAAsB,CACxB,IAAI3I,EAAWod,EAAa,UAC5B,GAAI,CACFhT,GAAgBzB,EAAa3I,CAAQ,CAC3C,OAAallB,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACtE,CACA,CACA,CACA,SAASgjC,GACP3gB,EACAwgB,EACA3d,EACA,CACAA,EAAS,MAAQ0V,GACfvY,EAAQ,KACRA,EAAQ,eAEV6C,EAAS,MAAQ7C,EAAQ,cACzB,GAAI,CACF6C,EAAS,qBAAoB,CACjC,OAAWllB,EAAO,CACdyiC,GAAwBpgB,EAASwgB,EAAwB7iC,CAAK,CAClE,CACA,CACA,SAASijC,GAAgB5gB,EAASwgB,EAAwB,CACxD,GAAI,CACF,IAAI9/B,EAAMsf,EAAQ,IAClB,GAAatf,IAAT,KAAc,CAChB,OAAQsf,EAAQ,IAAG,CACjB,IAAK,IACL,IAAK,IACL,IAAK,GACH,IAAI6gB,EAAgB7gB,EAAQ,UAC5B,MACF,IAAK,IACH6gB,EAAgB7gB,EAAQ,UACxB,MACF,QACE6gB,EAAgB7gB,EAAQ,SAClC,CACqB,OAAOtf,GAAtB,WACKsf,EAAQ,WAAatf,EAAImgC,CAAa,EACtCngC,EAAI,QAAUmgC,CACzB,CACA,OAAWljC,EAAO,CACdyiC,GAAwBpgB,EAASwgB,EAAwB7iC,CAAK,CAClE,CACA,CACA,SAASmjC,GAAgB9gB,EAASwgB,EAAwB,CACxD,IAAI9/B,EAAMsf,EAAQ,IAChBwV,EAAaxV,EAAQ,WACvB,GAAatf,IAAT,KACF,GAAmB,OAAO80B,GAAtB,WACF,GAAI,CACFA,EAAU,CAClB,OAAe73B,EAAO,CACdyiC,GAAwBpgB,EAASwgB,EAAwB7iC,CAAK,CACtE,QAAO,CACEqiB,EAAQ,WAAa,KACnBA,EAAUA,EAAQ,UACXA,GAAR,OAAoBA,EAAQ,WAAa,KACnD,SAC4B,OAAOtf,GAAtB,WACP,GAAI,CACFA,EAAI,IAAI,CAChB,OAAeqgC,EAAW,CAClBX,GAAwBpgB,EAASwgB,EAAwBO,CAAS,CAC1E,MACSrgC,EAAI,QAAU,IACvB,CACA,SAASsgC,GAAgBf,EAAc,CACrC,IAAI5lC,EAAO4lC,EAAa,KACtBnkC,EAAQmkC,EAAa,cACrBpd,EAAWod,EAAa,UAC1B,GAAI,CACF3+B,EAAG,OAAQjH,EAAI,CACb,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,WACHyB,EAAM,WAAa+mB,EAAS,MAAK,EACjC,MAAMvhB,EACR,IAAK,MACHxF,EAAM,IACD+mB,EAAS,IAAM/mB,EAAM,IACtBA,EAAM,SAAW+mB,EAAS,OAAS/mB,EAAM,OACrD,CACA,OAAW6B,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACpE,CACA,CACA,SAASsjC,GAAiBhB,EAAc7H,EAAUD,EAAU,CAC1D,GAAI,CACF,IAAI+I,EAAajB,EAAa,UAC9BkB,GAAiBD,EAAYjB,EAAa,KAAM9H,EAAUC,CAAQ,EAClE8I,EAAWrxB,EAAgB,EAAIuoB,CACnC,OAAWz6B,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACpE,CACA,CACA,SAASyjC,GAAav6B,EAAO,CAC3B,OACQA,EAAM,MAAZ,GACMA,EAAM,MAAZ,GACOA,EAAM,MAAb,IACQA,EAAM,MAAb,IAAoByc,GAAiBzc,EAAM,IAAI,GAC1CA,EAAM,MAAZ,CAEJ,CACA,SAASw6B,GAAex6B,EAAO,CAC7BvF,EAAG,OAAS,CACV,KAAgBuF,EAAM,UAAf,MAA0B,CAC/B,GAAaA,EAAM,SAAf,MAAyBu6B,GAAav6B,EAAM,MAAM,EAAG,OAAO,KAChEA,EAAQA,EAAM,MACpB,CAEI,IADAA,EAAM,QAAQ,OAASA,EAAM,OAE3BA,EAAQA,EAAM,QACRA,EAAM,MAAZ,GAAyBA,EAAM,MAAZ,GAA0BA,EAAM,MAAb,IAEtC,CAGA,GAFWA,EAAM,MAAb,IAAoByc,GAAiBzc,EAAM,IAAI,GAC/CA,EAAM,MAAQ,GACLA,EAAM,QAAf,MAA8BA,EAAM,MAAZ,EAAiB,SAASvF,EAChDuF,EAAM,MAAM,OAASA,EAASA,EAAQA,EAAM,KACxD,CACI,GAAI,EAAEA,EAAM,MAAQ,GAAI,OAAOA,EAAM,SACzC,CACA,CACA,SAASy6B,GAAyCjgC,EAAMkgC,EAAQ//B,EAAQ,CACtE,IAAImG,EAAMtG,EAAK,IACf,GAAUsG,IAAN,GAAmBA,IAAN,EACdtG,EAAOA,EAAK,UACXkgC,GACW//B,EAAO,WAAb,EACGA,EAAO,KACIA,EAAO,WAAlB,OACEA,EAAO,cAAc,KACrBA,GACJ,aAAaH,EAAMkgC,CAAM,GACzBA,EACM//B,EAAO,WAAb,EACIA,EAAO,KACIA,EAAO,WAAlB,OACEA,EAAO,cAAc,KACrBA,EACR+/B,EAAO,YAAYlgC,CAAI,EACtBG,EAASA,EAAO,oBACPA,GAAT,MACU+/B,EAAO,UAAhB,OACCA,EAAO,QAAUtsB,aAEpBtN,IAAN,IACQA,IAAP,IACC2b,GAAiBjiB,EAAK,IAAI,IACxBG,EAASH,EAAK,UAAakgC,EAAS,MACvClgC,EAAOA,EAAK,MACJA,IAAT,MAEA,IACEigC,GAAyCjgC,EAAMkgC,EAAQ//B,CAAM,EAC3DH,EAAOA,EAAK,QACLA,IAAT,MAGAigC,GAAyCjgC,EAAMkgC,EAAQ//B,CAAM,EAC1DH,EAAOA,EAAK,OACrB,CACA,SAASmgC,GAA4BngC,EAAMkgC,EAAQ//B,EAAQ,CACzD,IAAImG,EAAMtG,EAAK,IACf,GAAUsG,IAAN,GAAmBA,IAAN,EACdtG,EAAOA,EAAK,UACXkgC,EAAS//B,EAAO,aAAaH,EAAMkgC,CAAM,EAAI//B,EAAO,YAAYH,CAAI,UAEhEsG,IAAN,IACQA,IAAP,IAAc2b,GAAiBjiB,EAAK,IAAI,IAAMG,EAASH,EAAK,WAC5DA,EAAOA,EAAK,MACJA,IAAT,MAEA,IACEmgC,GAA4BngC,EAAMkgC,EAAQ//B,CAAM,EAAGH,EAAOA,EAAK,QACtDA,IAAT,MAGAmgC,GAA4BngC,EAAMkgC,EAAQ//B,CAAM,EAAIH,EAAOA,EAAK,OACtE,CACA,SAASogC,GAA+BxB,EAAc,CACpD,IAAIyB,EAAYzB,EAAa,UAC3BnkC,EAAQmkC,EAAa,cACvB,GAAI,CACF,QACM5lC,EAAO4lC,EAAa,KAAM0B,EAAaD,EAAU,WACrDC,EAAW,QAGXD,EAAU,oBAAoBC,EAAW,CAAC,CAAC,EAC7C3D,GAAqB0D,EAAWrnC,EAAMyB,CAAK,EAC3C4lC,EAAU9xB,EAAmB,EAAIqwB,EACjCyB,EAAU7xB,EAAgB,EAAI/T,CAClC,OAAW6B,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACpE,CACA,CACA,IAAIikC,GAA2B,GAC7BC,GAA4B,GAC5BC,GAAiB,GACjBC,GAAiC,OAAO,SAAtB,WAAgC,QAAU,IAC5DC,GAAa,KACf,SAASC,GAA4Br1B,EAAMqH,EAAY,CAIrD,GAHArH,EAAOA,EAAK,cACZs1B,GAAgBC,GAChBv1B,EAAOmQ,GAAqBnQ,CAAI,EAC5BoQ,GAAyBpQ,CAAI,EAAG,CAClC,GAAI,mBAAoBA,EACtB,IAAIuW,EAAkB,CACpB,MAAOvW,EAAK,eACZ,IAAKA,EAAK,mBAGZtL,EAAG,CACD6hB,GACIA,EAAkBvW,EAAK,gBACvBuW,EAAgB,aAClB,OACF,IAAIif,EACFjf,EAAgB,cAAgBA,EAAgB,aAAY,EAC9D,GAAIif,GAAmBA,EAAU,aAAhB,EAA4B,CAC3Cjf,EAAkBif,EAAU,WAC5B,IAAIC,EAAeD,EAAU,aAC3BE,EAAYF,EAAU,UACxBA,EAAYA,EAAU,YACtB,GAAI,CACFjf,EAAgB,SAAUmf,EAAU,QAChD,MAAyB,CACbnf,EAAkB,KAClB,MAAM7hB,CAClB,CACU,IAAIO,EAAS,EACXyU,EAAQ,GACRG,EAAM,GACN8rB,EAAoB,EACpBC,EAAmB,EACnBnhC,EAAOuL,EACP4D,EAAa,KACfrO,EAAG,OAAS,CACV,QAASsgC,EACPphC,IAAS8hB,GACAkf,IAAN,GAA4BhhC,EAAK,WAAX,IACtBiV,EAAQzU,EAASwgC,GACpBhhC,IAASihC,GACAF,IAAN,GAAyB/gC,EAAK,WAAX,IACnBoV,EAAM5U,EAASugC,GACZ/gC,EAAK,WAAX,IAAwBQ,GAAUR,EAAK,UAAU,SACnCohC,EAAOphC,EAAK,cAAtB,MACJmP,EAAanP,EACbA,EAAOohC,EAET,OAAS,CACP,GAAIphC,IAASuL,EAAM,MAAMzK,EAOzB,GANAqO,IAAe2S,GACb,EAAEof,IAAsBF,IACvB/rB,EAAQzU,GACX2O,IAAe8xB,GACb,EAAEE,IAAqBJ,IACtB3rB,EAAM5U,IACK4gC,EAAOphC,EAAK,eAAtB,KAAoC,MACxCA,EAAOmP,EACPA,EAAanP,EAAK,UAChC,CACYA,EAAOohC,CACnB,CACUtf,EACS7M,IAAP,IAAuBG,IAAP,GAAa,KAAO,CAAE,MAAOH,EAAO,IAAKG,CAAG,CACxE,MAAe0M,EAAkB,IACjC,CACIA,EAAkBA,GAAmB,CAAE,MAAO,EAAG,IAAK,CAAC,CAC3D,MAASA,EAAkB,KAGzB,IAFAuf,GAAuB,CAAE,YAAa91B,EAAM,eAAgBuW,CAAe,EAC3Egf,GAAW,GACNH,GAAa/tB,EAAqB+tB,KAAT,MAC5B,GACI/tB,EAAa+tB,GACdp1B,EAAOqH,EAAW,OACZA,EAAW,aAAe,QAAjC,GAAmDrH,IAAT,KAEzCA,EAAK,OAASqH,EAAc+tB,GAAap1B,MAE1C,MAAgBo1B,KAAT,MAAuB,CAI5B,OAHA/tB,EAAa+tB,GACbM,EAAYruB,EAAW,UACvBrH,EAAOqH,EAAW,MACVA,EAAW,IAAG,CACpB,IAAK,GACH,GACSrH,EAAO,IACZA,EAAOqH,EAAW,YACnBrH,EAAgBA,IAAT,KAAgBA,EAAK,OAAS,KAC7BA,IAAT,MAEA,IACEuW,EAAkB,EAClBA,EAAkBvW,EAAK,OACvBuW,IAECkf,EAAez1B,EAAKuW,CAAe,EACjCkf,EAAa,IAAI,KAAOA,EAAa,SAC5C,MACF,IAAK,IACL,IAAK,IACH,MACF,IAAK,GACH,GAAWz1B,EAAO,MAAkB01B,IAAT,KAAoB,CAC7C11B,EAAO,OACPuW,EAAkBlP,EAClBouB,EAAeC,EAAU,cACzBA,EAAYA,EAAU,cACtBF,EAAYjf,EAAgB,UAC5B,GAAI,CACF,IAAIwf,EAAoBpK,GACtBpV,EAAgB,KAChBkf,GAEFz1B,EAAOw1B,EAAU,wBACfO,EACAL,GAEFF,EAAU,oCAAsCx1B,CAChE,OAAuBjP,EAAO,CACdyiC,GACEjd,EACAA,EAAgB,OAChBxlB,EAElB,CACA,CACY,MACF,IAAK,GACH,GAAWiP,EAAO,MAChB,GACIA,EAAOqH,EAAW,UAAU,cAC7BkP,EAAkBvW,EAAK,SAClBuW,IAAN,EAEAyf,GAAwBh2B,CAAI,UACfuW,IAAN,EACP,OAAQvW,EAAK,SAAQ,CACnB,IAAK,OACL,IAAK,OACL,IAAK,OACHg2B,GAAwBh2B,CAAI,EAC5B,MACF,QACEA,EAAK,YAAc,EACvC,EACY,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,GACL,IAAK,GACL,IAAK,IACH,MACF,QACE,GAAWA,EAAO,KAAO,MAAM,MAAM3H,EAAuB,GAAG,CAAC,CAC5E,CAEQ,GADA2H,EAAOqH,EAAW,QACLrH,IAAT,KAAe,CACjBA,EAAK,OAASqH,EAAW,OACzB+tB,GAAap1B,EACb,KACV,CACQo1B,GAAa/tB,EAAW,MAChC,CACA,CACA,SAAS4uB,GAA0BC,EAAc9iB,EAASigB,EAAc,CACtE,IAAID,EAAQC,EAAa,MACzB,OAAQA,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACH8C,GAAiCD,EAAc7C,CAAY,EAC3DD,EAAQ,GAAKD,GAA0B,EAAGE,CAAY,EACtD,MACF,IAAK,GAEH,GADA8C,GAAiCD,EAAc7C,CAAY,EACvDD,EAAQ,EACV,GAAM8C,EAAe7C,EAAa,UAAqBjgB,IAAT,KAC5C,GAAI,CACF8iB,EAAa,kBAAiB,CAC1C,OAAmBnlC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC5E,KACa,CACH,IAAIg9B,EAAYpC,GACd0H,EAAa,KACbjgB,EAAQ,eAEVA,EAAUA,EAAQ,cAClB,GAAI,CACF8iB,EAAa,mBACXnI,EACA3a,EACA8iB,EAAa,oCAE3B,OAAmBE,EAAW,CAClB5C,GACEH,EACAA,EAAa,OACb+C,EAEd,CACA,CACMhD,EAAQ,IAAMU,GAAqBT,CAAY,EAC/CD,EAAQ,KAAOY,GAAgBX,EAAcA,EAAa,MAAM,EAChE,MACF,IAAK,GAEH,GADA8C,GAAiCD,EAAc7C,CAAY,EAEzDD,EAAQ,KACN8C,EAAe7C,EAAa,YAAuB6C,IAAT,MAC5C,CAEA,GADA9iB,EAAU,KACGigB,EAAa,QAAtB,KACF,OAAQA,EAAa,MAAM,IAAG,CAC5B,IAAK,IACL,IAAK,GACHjgB,EAAUigB,EAAa,MAAM,UAC7B,MACF,IAAK,GACHjgB,EAAUigB,EAAa,MAAM,SAC3C,CACQ,GAAI,CACFhT,GAAgB6V,EAAc9iB,CAAO,CAC/C,OAAiBriB,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC1E,CACA,CACM,MACF,IAAK,IACMqiB,IAAT,MACEggB,EAAQ,GACRyB,GAA+BxB,CAAY,EAC/C,IAAK,IACL,IAAK,GACH8C,GAAiCD,EAAc7C,CAAY,EAClDjgB,IAAT,MAAoBggB,EAAQ,GAAKgB,GAAgBf,CAAY,EAC7DD,EAAQ,KAAOY,GAAgBX,EAAcA,EAAa,MAAM,EAChE,MACF,IAAK,IACH8C,GAAiCD,EAAc7C,CAAY,EAC3D,MACF,IAAK,IACH8C,GAAiCD,EAAc7C,CAAY,EAC3DD,EAAQ,GAAKiD,GAAiCH,EAAc7C,CAAY,EACxE,MACF,IAAK,IACH8C,GAAiCD,EAAc7C,CAAY,EAC3DD,EAAQ,GAAKkD,GAAiCJ,EAAc7C,CAAY,EACxED,EAAQ,KACJ8C,EAAe7C,EAAa,cACrB6C,IAAT,OACIA,EAAeA,EAAa,WACrBA,IAAT,OACI7C,EAAekD,GAAgC,KAC/C,KACAlD,GAEFmD,GAA8BN,EAAc7C,CAAY,KAC9D,MACF,IAAK,IAEH,GADAD,EAAiBC,EAAa,gBAAtB,MAAuC2B,GAC3C,CAAC5B,EAAO,CACVhgB,EACYA,IAAT,MAA6BA,EAAQ,gBAAjB,MACrB6hB,GACFlH,EAAYiH,GACZ,IAAIyB,EAAgCxB,GACpCD,GAA2B5B,GAC1B6B,GAA4B7hB,IAAY,CAACqjB,EACtCC,GACER,EACA7C,GACOA,EAAa,aAAe,QAAnC,CACd,EACY8C,GAAiCD,EAAc7C,CAAY,EAC/D2B,GAA2BjH,EAC3BkH,GAA4BwB,CACpC,CACM,MACF,IAAK,IACH,MACF,QACEN,GAAiCD,EAAc7C,CAAY,CACjE,CACA,CACA,SAASsD,GAAwB18B,EAAO,CACtC,IAAIQ,EAAYR,EAAM,UACbQ,IAAT,OACIR,EAAM,UAAY,KAAO08B,GAAwBl8B,CAAS,GAC9DR,EAAM,MAAQ,KACdA,EAAM,UAAY,KAClBA,EAAM,QAAU,KACVA,EAAM,MAAZ,IACIQ,EAAYR,EAAM,UACXQ,IAAT,MAAsB+I,GAAsB/I,CAAS,GACvDR,EAAM,UAAY,KAClBA,EAAM,OAAS,KACfA,EAAM,aAAe,KACrBA,EAAM,cAAgB,KACtBA,EAAM,cAAgB,KACtBA,EAAM,aAAe,KACrBA,EAAM,UAAY,KAClBA,EAAM,YAAc,IACtB,CACA,IAAI28B,GAAa,KACfC,GAAwB,GAC1B,SAASC,GACPZ,EACAtC,EACAh/B,EACA,CACA,IAAKA,EAASA,EAAO,MAAgBA,IAAT,MAC1BmiC,GAA6Bb,EAActC,EAAwBh/B,CAAM,EACtEA,EAASA,EAAO,OACvB,CACA,SAASmiC,GACPb,EACAtC,EACAoD,EACA,CACA,GAAI93B,IAA+B,OAAOA,GAAa,sBAAnC,WAClB,GAAI,CACFA,GAAa,qBAAqBD,GAAY+3B,CAAY,CAChE,MAAkB,CAAA,CAChB,OAAQA,EAAa,IAAG,CACtB,IAAK,IACH/B,IACEf,GAAgB8C,EAAcpD,CAAsB,EACtDkD,GACEZ,EACAtC,EACAoD,GAEFA,EAAa,cACTA,EAAa,cAAc,QAC3BA,EAAa,YACXA,EAAeA,EAAa,UAC9BA,EAAa,WAAW,YAAYA,CAAY,GACpD,MACF,IAAK,IACH/B,IACEf,GAAgB8C,EAAcpD,CAAsB,EACtD,IAAIqD,EAAiBL,GACnBM,EAA4BL,GAC9BngB,GAAiBsgB,EAAa,IAAI,IAC9BJ,GAAaI,EAAa,UAAaH,GAAwB,IACnEC,GACEZ,EACAtC,EACAoD,GAEFG,GAAyBH,EAAa,SAAS,EAC/CJ,GAAaK,EACbJ,GAAwBK,EACxB,MACF,IAAK,GACHjC,IACEf,GAAgB8C,EAAcpD,CAAsB,EACxD,IAAK,GAWH,GAVAqD,EAAiBL,GACjBM,EAA4BL,GAC5BD,GAAa,KACbE,GACEZ,EACAtC,EACAoD,GAEFJ,GAAaK,EACbJ,GAAwBK,EACXN,KAAT,KACF,GAAIC,GACF,GAAI,EACKD,GAAW,WAAjB,EACGA,GAAW,KACAA,GAAW,WAAtB,OACEA,GAAW,cAAc,KACzBA,IACJ,YAAYI,EAAa,SAAS,CAChD,OAAmBjmC,EAAO,CACdyiC,GACEwD,EACApD,EACA7iC,EAEd,KAEU,IAAI,CACF6lC,GAAW,YAAYI,EAAa,SAAS,CACzD,OAAmBjmC,EAAO,CACdyiC,GACEwD,EACApD,EACA7iC,EAEd,CACM,MACF,IAAK,IACM6lC,KAAT,OACGC,IACKX,EAAeU,GACjBQ,GACQlB,EAAa,WAAnB,EACIA,EAAa,KACFA,EAAa,WAAxB,OACEA,EAAa,cAAc,KAC3BA,EACNc,EAAa,WAEfK,GAAiBnB,CAAY,GAC7BkB,GAAuBR,GAAYI,EAAa,SAAS,GAC/D,MACF,IAAK,GACHC,EAAiBL,GACjBM,EAA4BL,GAC5BD,GAAaI,EAAa,UAAU,cACpCH,GAAwB,GACxBC,GACEZ,EACAtC,EACAoD,GAEFJ,GAAaK,EACbJ,GAAwBK,EACxB,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACHzD,GAA4B,EAAGuD,EAAcpD,CAAsB,EACnEqB,IACExB,GAA4B,EAAGuD,EAAcpD,CAAsB,EACrEkD,GACEZ,EACAtC,EACAoD,GAEF,MACF,IAAK,GACH/B,KACGf,GAAgB8C,EAAcpD,CAAsB,EACpDqD,EAAiBD,EAAa,UAChB,OAAOC,EAAe,sBAArC,YACElD,GACEiD,EACApD,EACAqD,CACZ,GACMH,GACEZ,EACAtC,EACAoD,GAEF,MACF,IAAK,IACHF,GACEZ,EACAtC,EACAoD,GAEF,MACF,IAAK,IACH/B,IACGgC,EAAiBhC,KACT+B,EAAa,gBAAtB,KACFF,GACEZ,EACAtC,EACAoD,GAEF/B,GAA4BgC,EAC5B,MACF,QACEH,GACEZ,EACAtC,EACAoD,EAER,CACA,CACA,SAASX,GAAiCH,EAAc7C,EAAc,CACpE,GACWA,EAAa,gBAAtB,OACE6C,EAAe7C,EAAa,UACrB6C,IAAT,OACIA,EAAeA,EAAa,cAAyBA,IAAT,OAChD,CACAA,EAAeA,EAAa,WAC5B,GAAI,CACFmB,GAAiBnB,CAAY,CACnC,OAAanlC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACtE,CACA,CACA,CACA,SAASulC,GAAiCJ,EAAc7C,EAAc,CACpE,GACWA,EAAa,gBAAtB,OACE6C,EAAe7C,EAAa,UACrB6C,IAAT,OACIA,EAAeA,EAAa,cACrBA,IAAT,OACIA,EAAeA,EAAa,WAAsBA,IAAT,QAE/C,GAAI,CACFmB,GAAiBnB,CAAY,CACnC,OAAanlC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACtE,CACA,CACA,SAASumC,GAAcjE,EAAc,CACnC,OAAQA,EAAa,IAAG,CACtB,IAAK,IACL,IAAK,IACL,IAAK,IACH,IAAIkE,EAAalE,EAAa,UAC9B,OAASkE,IAAT,OACGA,EAAalE,EAAa,UAAY,IAAI8B,IACtCoC,EACT,IAAK,IACH,OACGlE,EAAeA,EAAa,UAC5BkE,EAAalE,EAAa,YAClBkE,IAAT,OACGA,EAAalE,EAAa,YAAc,IAAI8B,IAC/CoC,EAEJ,QACE,MAAM,MAAMl/B,EAAuB,IAAKg7B,EAAa,GAAG,CAAC,CAC/D,CACA,CACA,SAASmE,GAA6BnE,EAAcoE,EAAW,CAC7D,IAAIF,EAAaD,GAAcjE,CAAY,EAC3CoE,EAAU,QAAQ,SAAUC,EAAU,CACpC,GAAI,CAACH,EAAW,IAAIG,CAAQ,EAAG,CAC7BH,EAAW,IAAIG,CAAQ,EACvB,IAAIC,EAAQC,GAAqB,KAAK,KAAMvE,EAAcqE,CAAQ,EAClEA,EAAS,KAAKC,EAAOA,CAAK,CAChC,CACA,CAAG,CACH,CACA,SAASE,GAAmCC,EAAeC,EAAa,CACtE,IAAI1b,EAAY0b,EAAY,UAC5B,GAAa1b,IAAT,KACF,QAAS7qB,EAAI,EAAGA,EAAI6qB,EAAU,OAAQ7qB,IAAK,CACzC,IAAI4qB,EAAgBC,EAAU7qB,CAAC,EAC7BwO,EAAO83B,EACP/b,EAAcgc,EACdnjC,EAASmnB,EACXrnB,EAAG,KAAgBE,IAAT,MAAmB,CAC3B,OAAQA,EAAO,IAAG,CAChB,IAAK,IACH,GAAI8hB,GAAiB9hB,EAAO,IAAI,EAAG,CACjCgiC,GAAahiC,EAAO,UACpBiiC,GAAwB,GACxB,MAAMniC,CACpB,CACY,MACF,IAAK,GACHkiC,GAAahiC,EAAO,UACpBiiC,GAAwB,GACxB,MAAMniC,EACR,IAAK,GACL,IAAK,GACHkiC,GAAahiC,EAAO,UAAU,cAC9BiiC,GAAwB,GACxB,MAAMniC,CAClB,CACQE,EAASA,EAAO,MACxB,CACM,GAAagiC,KAAT,KAAqB,MAAM,MAAMv+B,EAAuB,GAAG,CAAC,EAChE0+B,GAA6B/2B,EAAM+b,EAAaK,CAAa,EAC7Dwa,GAAa,KACbC,GAAwB,GACxB72B,EAAOoc,EAAc,UACZpc,IAAT,OAAkBA,EAAK,OAAS,MAChCoc,EAAc,OAAS,IAC7B,CACE,GAAI2b,EAAY,aAAe,MAC7B,IAAKA,EAAcA,EAAY,MAAgBA,IAAT,MACpCC,GAA6BD,EAAaD,CAAa,EACpDC,EAAcA,EAAY,OACnC,CACA,IAAIE,GAAuB,KAC3B,SAASD,GAA6B3E,EAAcrzB,EAAM,CACxD,IAAIoT,EAAUigB,EAAa,UACzBD,EAAQC,EAAa,MACvB,OAAQA,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACHwE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,IACLK,GAA4B,EAAGJ,EAAcA,EAAa,MAAM,EACjEF,GAA0B,EAAGE,CAAY,EACzCI,GAA4B,EAAGJ,EAAcA,EAAa,MAAM,GAClE,MACF,IAAK,GACHwE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,MACL6B,IACU7hB,IAAT,MACA8gB,GAAgB9gB,EAASA,EAAQ,MAAM,GAC3CggB,EAAQ,IACN4B,KACE3B,EAAeA,EAAa,YACrBA,IAAT,OACID,EAAQC,EAAa,UACdD,IAAT,OACIhgB,EAAUigB,EAAa,OAAO,gBAC/BA,EAAa,OAAO,gBACVjgB,IAAT,KAAmBggB,EAAQhgB,EAAQ,OAAOggB,CAAK,KACvD,MACF,IAAK,IACH,IAAI+E,EAAgBF,GAOpB,GANAJ,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,MACL6B,IACU7hB,IAAT,MACA8gB,GAAgB9gB,EAASA,EAAQ,MAAM,GACvCggB,EAAQ,EAAG,CACb,IAAIgF,EAA2BhlB,IAAT,KAAmBA,EAAQ,cAAgB,KAEjE,GADAggB,EAAQC,EAAa,cACRjgB,IAAT,KACF,GAAaggB,IAAT,KACF,GAAaC,EAAa,YAAtB,KAAiC,CACnC3+B,EAAG,CACD0+B,EAAQC,EAAa,KACrBjgB,EAAUigB,EAAa,cACvB8E,EAAgBA,EAAc,eAAiBA,EAC/C5iC,EAAG,OAAQ69B,EAAK,CACd,IAAK,QACHgF,EACED,EAAc,qBAAqB,OAAO,EAAE,CAAC,GAE7C,CAACC,GACDA,EAAgB70B,EAAuB,GACvC60B,EAAgBp1B,EAAmB,GAEjCo1B,EAAgB,eADlB,8BAEAA,EAAgB,aAAa,UAAU,KAEtCA,EAAkBD,EAAc,cAAc/E,CAAK,EAClD+E,EAAc,KAAK,aACjBC,EACAD,EAAc,cAAc,cAAc,IAEhD/G,GAAqBgH,EAAiBhF,EAAOhgB,CAAO,EACpDglB,EAAgBp1B,EAAmB,EAAIqwB,EACvClvB,GAAoBi0B,CAAe,EACnChF,EAAQgF,EACR,MAAM1jC,EACR,IAAK,OACH,IAAI2jC,EAAaC,GACf,OACA,OACAH,GACA,IAAI/E,GAAShgB,EAAQ,MAAQ,GAAG,EAClC,GAAIilB,GACF,QAAS7mC,EAAI,EAAGA,EAAI6mC,EAAW,OAAQ7mC,IACrC,GACI4mC,EAAkBC,EAAW7mC,CAAC,EAChC4mC,EAAgB,aAAa,MAAM,KACxBhlB,EAAQ,MAAhB,MAA+BA,EAAQ,OAAf,GACrB,KACAA,EAAQ,OACZglB,EAAgB,aAAa,KAAK,KACvBhlB,EAAQ,KAAhB,KAAsB,KAAOA,EAAQ,MACxCglB,EAAgB,aAAa,OAAO,KACzBhlB,EAAQ,OAAhB,KAAwB,KAAOA,EAAQ,QAC1CglB,EAAgB,aAAa,aAAa,KAC/BhlB,EAAQ,aAAhB,KACG,KACAA,EAAQ,aAChB,CACAilB,EAAW,OAAO7mC,EAAG,CAAC,EACtB,MAAM+D,CAChC,EACoB6iC,EAAkBD,EAAc,cAAc/E,CAAK,EACnDhC,GAAqBgH,EAAiBhF,EAAOhgB,CAAO,EACpD+kB,EAAc,KAAK,YAAYC,CAAe,EAC9C,MACF,IAAK,OACH,GACGC,EAAaC,GACZ,OACA,UACAH,GACA,IAAI/E,GAAShgB,EAAQ,SAAW,GAAG,GAErC,IAAK5hB,EAAI,EAAGA,EAAI6mC,EAAW,OAAQ7mC,IACjC,GACI4mC,EAAkBC,EAAW7mC,CAAC,EAChC4mC,EAAgB,aAAa,SAAS,KAC3BhlB,EAAQ,SAAhB,KACG,KACA,GAAKA,EAAQ,UACjBglB,EAAgB,aAAa,MAAM,KACxBhlB,EAAQ,MAAhB,KAAuB,KAAOA,EAAQ,OACzCglB,EAAgB,aAAa,UAAU,KAC5BhlB,EAAQ,UAAhB,KACG,KACAA,EAAQ,WACdglB,EAAgB,aAAa,YAAY,KAC9BhlB,EAAQ,WAAhB,KACG,KACAA,EAAQ,YACdglB,EAAgB,aAAa,SAAS,KAC3BhlB,EAAQ,SAAhB,KACG,KACAA,EAAQ,SAChB,CACAilB,EAAW,OAAO7mC,EAAG,CAAC,EACtB,MAAM+D,CAChC,EACoB6iC,EAAkBD,EAAc,cAAc/E,CAAK,EACnDhC,GAAqBgH,EAAiBhF,EAAOhgB,CAAO,EACpD+kB,EAAc,KAAK,YAAYC,CAAe,EAC9C,MACF,QACE,MAAM,MAAM//B,EAAuB,IAAK+6B,CAAK,CAAC,CAClE,CACgBgF,EAAgBp1B,EAAmB,EAAIqwB,EACvClvB,GAAoBi0B,CAAe,EACnChF,EAAQgF,CACxB,CACc/E,EAAa,UAAYD,CACvC,MACcmF,GACEJ,EACA9E,EAAa,KACbA,EAAa,gBAGjBA,EAAa,UAAYmF,GACvBL,EACA/E,EACAC,EAAa,oBAGjB+E,IAAoBhF,GACNgF,IAAT,KACYhlB,EAAQ,YAAjB,OACEA,EAAUA,EAAQ,UACpBA,EAAQ,WAAW,YAAYA,CAAO,GACtCglB,EAAgB,QACXhF,IAAT,KACImF,GACEJ,EACA9E,EAAa,KACbA,EAAa,SACjC,EACkBmF,GACEL,EACA/E,EACAC,EAAa,gBAEVD,IAAT,MACSC,EAAa,YAAtB,MACAgB,GACEhB,EACAA,EAAa,cACbjgB,EAAQ,cAExB,CACM,MACF,IAAK,IACHykB,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,MACL6B,IACU7hB,IAAT,MACA8gB,GAAgB9gB,EAASA,EAAQ,MAAM,GAClCA,IAAT,MACEggB,EAAQ,GACRiB,GACEhB,EACAA,EAAa,cACbjgB,EAAQ,eAEZ,MACF,IAAK,GAOH,GANAykB,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,MACL6B,IACU7hB,IAAT,MACA8gB,GAAgB9gB,EAASA,EAAQ,MAAM,GACvCigB,EAAa,MAAQ,GAAI,CAC3B8E,EAAgB9E,EAAa,UAC7B,GAAI,CACFlsB,GAAegxB,EAAe,EAAE,CAC1C,OAAiBpnC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC1E,CACA,CACMqiC,EAAQ,GACEC,EAAa,WAArB,OACE8E,EAAgB9E,EAAa,cAC/BgB,GACEhB,EACA8E,EACS/kB,IAAT,KAAmBA,EAAQ,cAAgB+kB,CACrD,GACM/E,EAAQ,OAAS8B,GAAiB,IAClC,MACF,IAAK,GAGH,GAFA2C,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACpCD,EAAQ,EAAG,CACb,GAAaC,EAAa,YAAtB,KACF,MAAM,MAAMh7B,EAAuB,GAAG,CAAC,EACzC+6B,EAAQC,EAAa,cACrBjgB,EAAUigB,EAAa,UACvB,GAAI,CACFjgB,EAAQ,UAAYggB,CAC9B,OAAiBriC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC1E,CACA,CACM,MACF,IAAK,GAOH,GANA0nC,GAAY,KACZN,EAAgBF,GAChBA,GAAuBS,GAAiB14B,EAAK,aAAa,EAC1D63B,GAAmC73B,EAAMqzB,CAAY,EACrD4E,GAAuBE,EACvBD,GAA4B7E,CAAY,EACpCD,EAAQ,GAAchgB,IAAT,MAAoBA,EAAQ,cAAc,aACzD,GAAI,CACFikB,GAAiBr3B,EAAK,aAAa,CAC7C,OAAiBjP,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC1E,CACMmkC,KACIA,GAAiB,GAAKyD,GAAsBtF,CAAY,GAC5D,MACF,IAAK,GACHD,EAAQ6E,GACRA,GAAuBS,GACrBrF,EAAa,UAAU,eAEzBwE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxC4E,GAAuB7E,EACvB,MACF,IAAK,IACHyE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxC,MACF,IAAK,IACHwE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,IACJA,EAAQC,EAAa,YACdD,IAAT,OACIC,EAAa,YAAc,KAC7BmE,GAA6BnE,EAAcD,CAAK,IACpD,MACF,IAAK,IACHyE,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCA,EAAa,MAAM,MAAQ,MACfA,EAAa,gBAAtB,OACWjgB,IAAT,MAA6BA,EAAQ,gBAAjB,QACtBwlB,GAA+Bp6B,GAAG,GACrC40B,EAAQ,IACJA,EAAQC,EAAa,YACdD,IAAT,OACIC,EAAa,YAAc,KAC7BmE,GAA6BnE,EAAcD,CAAK,IACpD,MACF,IAAK,IACH+E,EAAyB9E,EAAa,gBAAtB,KAChB,IAAIwF,EAAqBzlB,IAAT,MAA6BA,EAAQ,gBAAjB,KAClC0lB,EAA+B9D,GAC/ByB,EAAgCxB,GAOlC,GANAD,GAA2B8D,GAAgCX,EAC3DlD,GAA4BwB,GAAiCoC,EAC7DhB,GAAmC73B,EAAMqzB,CAAY,EACrD4B,GAA4BwB,EAC5BzB,GAA2B8D,EAC3BZ,GAA4B7E,CAAY,EACpCD,EAAQ,KACV1+B,EAAG,IACDsL,EAAOqzB,EAAa,UAClBrzB,EAAK,YAAcm4B,EACfn4B,EAAK,YAAc,GACnBA,EAAK,YAAc,EACvBm4B,IACY/kB,IAAT,MACCylB,GACA7D,IACAC,IACA8D,GAA0C1F,CAAY,GAC1DjgB,EAAU,KACVpT,EAAOqzB,IAGT,CACA,GAAUrzB,EAAK,MAAX,GAAyBA,EAAK,MAAZ,IACpB,GAAaoT,IAAT,KAAkB,CACpBylB,EAAYzlB,EAAUpT,EACtB,GAAI,CACF,GAAMo4B,EAAkBS,EAAU,UAAYV,EAC3CE,EAAaD,EAAgB,MACb,OAAOC,EAAW,aAAjC,WACIA,EAAW,YAAY,UAAW,OAAQ,WAAW,EACpDA,EAAW,QAAU,WACzB,CACH7mC,EAAIqnC,EAAU,UACd,IAAIjoB,EAAYioB,EAAU,cAAc,MACtCG,EAEWpoB,GAAT,MACAA,EAAU,eAAe,SAAS,EAC9BA,EAAU,QACV,KACRpf,EAAE,MAAM,QACEwnC,GAAR,MAAiC,OAAOA,GAArB,UACf,IACC,GAAKA,GAAS,KAAI,CAC3C,CACA,OAAuBjoC,EAAO,CACdyiC,GAAwBqF,EAAWA,EAAU,OAAQ9nC,CAAK,CAC1E,CACA,UAC2BiP,EAAK,MAAX,GACT,GAAaoT,IAAT,KAAkB,CACpBylB,EAAY74B,EACZ,GAAI,CACF64B,EAAU,UAAU,UAAYV,EAC5B,GACAU,EAAU,aAC9B,OAAuB9nC,EAAO,CACdyiC,GAAwBqF,EAAWA,EAAU,OAAQ9nC,CAAK,CAC1E,CACA,UAC4BiP,EAAK,MAAZ,IACT,GAAaoT,IAAT,KAAkB,CACpBylB,EAAY74B,EACZ,GAAI,CACF,IAAIiW,EAAW4iB,EAAU,UACzBV,EACIc,GAA+BhjB,EAAU,EAAE,EAC3CgjB,GAA+BJ,EAAU,UAAW,EAAE,CAC1E,OAAuB9nC,EAAO,CACdyiC,GAAwBqF,EAAWA,EAAU,OAAQ9nC,CAAK,CAC1E,CACA,WAEqBiP,EAAK,MAAZ,IAA0BA,EAAK,MAAZ,IACVA,EAAK,gBAAd,MACAA,IAASqzB,IACFrzB,EAAK,QAAd,KACA,CACAA,EAAK,MAAM,OAASA,EACpBA,EAAOA,EAAK,MACZ,QACZ,CACU,GAAIA,IAASqzB,EAAc,MAAM3+B,EACjC,KAAgBsL,EAAK,UAAd,MAAyB,CAC9B,GAAaA,EAAK,SAAd,MAAwBA,EAAK,SAAWqzB,EAAc,MAAM3+B,EAChE0e,IAAYpT,IAASoT,EAAU,MAC/BpT,EAAOA,EAAK,MACxB,CACUoT,IAAYpT,IAASoT,EAAU,MAC/BpT,EAAK,QAAQ,OAASA,EAAK,OAC3BA,EAAOA,EAAK,OACtB,CACMozB,EAAQ,IACJA,EAAQC,EAAa,YACdD,IAAT,OACIhgB,EAAUggB,EAAM,WACThgB,IAAT,OACIggB,EAAM,WAAa,KACrBoE,GAA6BnE,EAAcjgB,CAAO,KACxD,MACF,IAAK,IACHykB,GAAmC73B,EAAMqzB,CAAY,EACrD6E,GAA4B7E,CAAY,EACxCD,EAAQ,IACJA,EAAQC,EAAa,YACdD,IAAT,OACIC,EAAa,YAAc,KAC7BmE,GAA6BnE,EAAcD,CAAK,IACpD,MACF,IAAK,IACH,MACF,IAAK,IACH,MACF,QACEyE,GAAmC73B,EAAMqzB,CAAY,EACnD6E,GAA4B7E,CAAY,CAChD,CACA,CACA,SAAS6E,GAA4B7E,EAAc,CACjD,IAAID,EAAQC,EAAa,MACzB,GAAID,EAAQ,EAAG,CACb,GAAI,CACF,QACM8F,EAAiBnB,EAAc1E,EAAa,OACvC0E,IAAT,MAEA,CACA,GAAIvD,GAAauD,CAAW,EAAG,CAC7BmB,EAAkBnB,EAClB,KACV,CACQA,EAAcA,EAAY,MAClC,CACM,GAAYmB,GAAR,KAAyB,MAAM,MAAM7gC,EAAuB,GAAG,CAAC,EACpE,OAAQ6gC,EAAgB,IAAG,CACzB,IAAK,IACH,IAAItkC,EAASskC,EAAgB,UAC3BvE,EAASF,GAAepB,CAAY,EACtCuB,GAA4BvB,EAAcsB,EAAQ//B,CAAM,EACxD,MACF,IAAK,GACH,IAAIukC,EAAaD,EAAgB,UACjCA,EAAgB,MAAQ,KACrB/xB,GAAegyB,EAAY,EAAE,EAAID,EAAgB,OAAS,KAC7D,IAAIE,EAAa3E,GAAepB,CAAY,EAC5CuB,GAA4BvB,EAAc+F,EAAYD,CAAU,EAChE,MACF,IAAK,GACL,IAAK,GACH,IAAIE,EAAaH,EAAgB,UAAU,cACzCI,EAAa7E,GAAepB,CAAY,EAC1CqB,GACErB,EACAiG,EACAD,GAEF,MACF,QACE,MAAM,MAAMhhC,EAAuB,GAAG,CAAC,CACjD,CACA,OAAatH,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CACtE,CACIsiC,EAAa,OAAS,EAC1B,CACED,EAAQ,OAASC,EAAa,OAAS,MACzC,CACA,SAASsF,GAAsBZ,EAAa,CAC1C,GAAIA,EAAY,aAAe,KAC7B,IAAKA,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAI99B,EAAQ89B,EACZY,GAAsB1+B,CAAK,EACrBA,EAAM,MAAZ,GAAmBA,EAAM,MAAQ,MAAQA,EAAM,UAAU,MAAK,EAC9D89B,EAAcA,EAAY,OAChC,CACA,CACA,SAAS5B,GAAiCn2B,EAAM+3B,EAAa,CAC3D,GAAIA,EAAY,aAAe,KAC7B,IAAKA,EAAcA,EAAY,MAAgBA,IAAT,MACpC9B,GAA0Bj2B,EAAM+3B,EAAY,UAAWA,CAAW,EAC/DA,EAAcA,EAAY,OACnC,CACA,SAASgB,GAA0ChB,EAAa,CAC9D,IAAKA,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAI1E,EAAe0E,EACnB,OAAQ1E,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACHI,GAA4B,EAAGJ,EAAcA,EAAa,MAAM,EAChE0F,GAA0C1F,CAAY,EACtD,MACF,IAAK,GACHa,GAAgBb,EAAcA,EAAa,MAAM,EACjD,IAAIpd,EAAWod,EAAa,UACb,OAAOpd,EAAS,sBAA/B,YACE8d,GACEV,EACAA,EAAa,OACbpd,GAEJ8iB,GAA0C1F,CAAY,EACtD,MACF,IAAK,IACH8D,GAAyB9D,EAAa,SAAS,EACjD,IAAK,IACL,IAAK,GACHa,GAAgBb,EAAcA,EAAa,MAAM,EACjD0F,GAA0C1F,CAAY,EACtD,MACF,IAAK,IACMA,EAAa,gBAAtB,MACE0F,GAA0C1F,CAAY,EACxD,MACF,IAAK,IACH0F,GAA0C1F,CAAY,EACtD,MACF,QACE0F,GAA0C1F,CAAY,CAC9D,CACI0E,EAAcA,EAAY,OAC9B,CACA,CACA,SAASrB,GACP6C,EACAxB,EACAyB,EACA,CAGA,IAFAA,EACEA,IAAuCzB,EAAY,aAAe,QAAlC,EAC7BA,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAI3kB,EAAU2kB,EAAY,UACxB7B,EAAeqD,EACflG,EAAe0E,EACf3E,EAAQC,EAAa,MACvB,OAAQA,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACHqD,GACER,EACA7C,EACAmG,GAEFrG,GAA0B,EAAGE,CAAY,EACzC,MACF,IAAK,GAQH,GAPAqD,GACER,EACA7C,EACAmG,GAEFpmB,EAAUigB,EACV6C,EAAe9iB,EAAQ,UACJ,OAAO8iB,EAAa,mBAAnC,WACF,GAAI,CACFA,EAAa,kBAAiB,CAC1C,OAAmBnlC,EAAO,CACdyiC,GAAwBpgB,EAASA,EAAQ,OAAQriB,CAAK,CAClE,CAGQ,GAFAqiB,EAAUigB,EACV6C,EAAe9iB,EAAQ,YACV8iB,IAAT,KAAuB,CACzB,IAAIjgB,EAAW7C,EAAQ,UACvB,GAAI,CACF,IAAIqmB,EAAkBvD,EAAa,OAAO,gBAC1C,GAAauD,IAAT,KACF,IACEvD,EAAa,OAAO,gBAAkB,KAAMA,EAAe,EAC3DA,EAAeuD,EAAgB,OAC/BvD,IAEA9V,GAAaqZ,EAAgBvD,CAAY,EAAGjgB,CAAQ,CACpE,OAAmBllB,EAAO,CACdyiC,GAAwBpgB,EAASA,EAAQ,OAAQriB,CAAK,CAClE,CACA,CACQyoC,GACEpG,EAAQ,IACRU,GAAqBT,CAAY,EACnCW,GAAgBX,EAAcA,EAAa,MAAM,EACjD,MACF,IAAK,IACHwB,GAA+BxB,CAAY,EAC7C,IAAK,IACL,IAAK,GACHqD,GACER,EACA7C,EACAmG,GAEFA,GACWpmB,IAAT,MACAggB,EAAQ,GACRgB,GAAgBf,CAAY,EAC9BW,GAAgBX,EAAcA,EAAa,MAAM,EACjD,MACF,IAAK,IACHqD,GACER,EACA7C,EACAmG,GAEF,MACF,IAAK,IACH9C,GACER,EACA7C,EACAmG,GAEFA,GACEpG,EAAQ,GACRiD,GAAiCH,EAAc7C,CAAY,EAC7D,MACF,IAAK,IACHqD,GACER,EACA7C,EACAmG,GAEFA,GACEpG,EAAQ,GACRkD,GAAiCJ,EAAc7C,CAAY,EAC7D,MACF,IAAK,IACMA,EAAa,gBAAtB,MACEqD,GACER,EACA7C,EACAmG,GAEJxF,GAAgBX,EAAcA,EAAa,MAAM,EACjD,MACF,IAAK,IACH,MACF,QACEqD,GACER,EACA7C,EACAmG,EAEV,CACIzB,EAAcA,EAAY,OAC9B,CACA,CACA,SAAS2B,GAAmCtmB,EAASigB,EAAc,CACjE,IAAIsG,EAAgB,KACXvmB,IAAT,MACWA,EAAQ,gBAAjB,MACSA,EAAQ,cAAc,YAA/B,OACCumB,EAAgBvmB,EAAQ,cAAc,UAAU,MACnDA,EAAU,KACDigB,EAAa,gBAAtB,MACWA,EAAa,cAAc,YAApC,OACCjgB,EAAUigB,EAAa,cAAc,UAAU,MAClDjgB,IAAYumB,IACDvmB,GAAR,MAAmBA,EAAQ,WACpBumB,GAAR,MAAyBzgB,GAAaygB,CAAa,EACvD,CACA,SAASC,GAA8BxmB,EAASigB,EAAc,CAC5DjgB,EAAU,KACDigB,EAAa,YAAtB,OACGjgB,EAAUigB,EAAa,UAAU,cAAc,OAClDA,EAAeA,EAAa,cAAc,MAC1CA,IAAiBjgB,IACdigB,EAAa,WAAoBjgB,GAAR,MAAmB8F,GAAa9F,CAAO,EACrE,CACA,SAASymB,GACP75B,EACA+3B,EACA+B,EACAC,EACA,CACA,GAAIhC,EAAY,aAAe,MAC7B,IAAKA,EAAcA,EAAY,MAAgBA,IAAT,MACpCiC,GACEh6B,EACA+3B,EACA+B,EACAC,GAEChC,EAAcA,EAAY,OACnC,CACA,SAASiC,GACP9D,EACA7C,EACAyG,EACAC,EACA,CACA,IAAI3G,EAAQC,EAAa,MACzB,OAAQA,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACHwG,GACE3D,EACA7C,EACAyG,EACAC,GAEF3G,EAAQ,MAAQD,GAA0B,EAAGE,CAAY,EACzD,MACF,IAAK,GACHwG,GACE3D,EACA7C,EACAyG,EACAC,GAEF,MACF,IAAK,GACHF,GACE3D,EACA7C,EACAyG,EACAC,GAEF3G,EAAQ,OACJ8C,EAAe,KACR7C,EAAa,YAAtB,OACG6C,EAAe7C,EAAa,UAAU,cAAc,OACtDA,EAAeA,EAAa,cAAc,MAC3CA,IAAiB6C,IACd7C,EAAa,WACN6C,GAAR,MAAwBhd,GAAagd,CAAY,IACrD,MACF,IAAK,IACH,GAAI9C,EAAQ,KAAM,CAChByG,GACE3D,EACA7C,EACAyG,EACAC,GAEF7D,EAAe7C,EAAa,UAC5B,GAAI,CACF,IAAI4G,EAAyB5G,EAAa,cACxC6G,EAAKD,EAAuB,GAC5BE,EAAeF,EAAuB,aACzB,OAAOE,GAAtB,YACEA,EACED,EACS7G,EAAa,YAAtB,KAAkC,QAAU,SAC5C6C,EAAa,sBACb,GAEd,OAAiBnlC,EAAO,CACdyiC,GAAwBH,EAAcA,EAAa,OAAQtiC,CAAK,CAC1E,CACA,MACQ8oC,GACE3D,EACA7C,EACAyG,EACAC,GAEJ,MACF,IAAK,IACHF,GACE3D,EACA7C,EACAyG,EACAC,GAEF,MACF,IAAK,IACHF,GACE3D,EACA7C,EACAyG,EACAC,GAEF,MACF,IAAK,IACH,MACF,IAAK,IACHE,EAAyB5G,EAAa,UACtC6G,EAAK7G,EAAa,UACTA,EAAa,gBAAtB,KACI4G,EAAuB,YAAc,EACnCJ,GACE3D,EACA7C,EACAyG,EACAC,CACd,EACYK,GAAwClE,EAAc7C,CAAY,EACpE4G,EAAuB,YAAc,EACnCJ,GACE3D,EACA7C,EACAyG,EACAC,CACd,GACcE,EAAuB,aAAe,EACxCI,GACEnE,EACA7C,EACAyG,EACAC,GACO1G,EAAa,aAAe,SAAnC,GAA6C,EAC3D,GACMD,EAAQ,MAAQsG,GAAmCQ,EAAI7G,CAAY,EACnE,MACF,IAAK,IACHwG,GACE3D,EACA7C,EACAyG,EACAC,GAEF3G,EAAQ,MACNwG,GAA8BvG,EAAa,UAAWA,CAAY,EACpE,MACF,QACEwG,GACE3D,EACA7C,EACAyG,EACAC,EAER,CACA,CACA,SAASM,GACPd,EACAxB,EACAuC,EACAC,EACAf,EACA,CAIA,IAHAA,EACEA,KACQzB,EAAY,aAAe,SAAlC,GAA4C,IAC1CA,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAI7B,EAAeqD,EACjBlG,EAAe0E,EACf+B,EAAiBQ,EACjBP,EAAuBQ,EACvBnH,EAAQC,EAAa,MACvB,OAAQA,EAAa,IAAG,CACtB,IAAK,GACL,IAAK,IACL,IAAK,IACHgH,GACEnE,EACA7C,EACAyG,EACAC,EACAP,GAEFrG,GAA0B,EAAGE,CAAY,EACzC,MACF,IAAK,IACH,MACF,IAAK,IACH,IAAIpd,EAAWod,EAAa,UACnBA,EAAa,gBAAtB,KACIpd,EAAS,YAAc,EACrBokB,GACEnE,EACA7C,EACAyG,EACAC,EACAP,CAChB,EACcY,GACElE,EACA7C,CAChB,GACcpd,EAAS,aAAe,EAC1BokB,GACEnE,EACA7C,EACAyG,EACAC,EACAP,CACd,GACQA,GACEpG,EAA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IAAeA,EAAa,KAC5D,CACA,CACE,OAAAirC,GAAoBjrC,EACb,IACT,CACA,SAASf,GAAiB6K,EAAc,CACtC,OAAQA,EAAY,CAClB,IAAK,eACL,IAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,cACL,IAAK,OACL,IAAK,MACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,YACL,IAAK,OACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,cACL,IAAK,YACL,IAAK,aACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,aACL,IAAK,eACL,IAAK,SACL,IAAK,kBACL,IAAK,YACL,IAAK,mBACL,IAAK,iBACL,IAAK,oBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,OACL,IAAK,mBACL,IAAK,QACL,IAAK,aACL,IAAK,WACL,IAAK,SACL,IAAK,cACH,MAAO,GACT,IAAK,OACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,eACH,MAAO,GACT,IAAK,UACH,OAAQ/O,GAAuB,EAAE,CAC/B,KAAKC,GACH,MAAO,GACT,KAAKC,GACH,MAAO,GACT,KAAKC,GACL,KAAKC,GACH,MAAO,IACT,KAAKC,GACH,MAAO,WACT,QACE,MAAO,GACjB,CACI,QACE,MAAO,GACb,CACA,CACA,IAAIkwC,GAA4B,GAC9BC,GAAc,KACdC,GAAa,KACbC,GAAc,KACdC,GAAiB,IAAI,IACrBC,GAAwB,IAAI,IAC5BC,GAAiC,CAAA,EACjCR,GACE,sPAAsP,MACpP,KAEN,SAASF,GAAuBphC,EAAchF,EAAa,CACzD,OAAQgF,EAAY,CAClB,IAAK,U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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}